gpt4 book ai didi

angularjs - Angular Material 日期选择器字段值为空

转载 作者:行者123 更新时间:2023-12-02 11:29:02 25 4
gpt4 key购买 nike

我想获取用户的出生日期,并预定义最小和最大日期,效果很好。我想要的日期格式是 DD-MM-YYYY,为此我在配置中定义了以下内容;

app.config(['$mdDateLocaleProvider', function ($mdDateLocaleProvider) {
$mdDateLocaleProvider.formatDate = function(date) {
return moment(date).format('DD-MM-YYYY');
}}]);

并且 Controller 有

    $scope.user = {};
$scope.user.dob = new Date();
$scope.maxDate = new Date(
$scope.user.dob.getFullYear() - 10,
$scope.user.dob.getMonth(),
$scope.user.dob.getDate()
);
$scope.minDate = new Date(
$scope.user.dob.getFullYear() - 120,
$scope.user.dob.getMonth(),
$scope.user.dob.getDate()
);

HTML 是;

<md-datepicker 
ng-model="user.dob"
md-placeholder="Enter date of birth"
md-min-date="minDate"
md-max-date="maxDate">
</md-datepicker>

使用此代码,该字段默认显示当前日期,这是我不想要的,

我希望日期字段默认为空。

另外我想以两种方式获取值,如下所示1) 日期-月份-年份和2) 日月年时分秒

当我尝试获取该值时,它显示“09-11-2016T18:30:00.000Z”

我想要“09-11-2016”或“09-11-2016 18:30:00”

最佳答案

您的 mdDateLocaleProvider 不会检查空值。

您的问题是:

app.config(['$mdDateLocaleProvider', function ($mdDateLocaleProvider) {
$mdDateLocaleProvider.formatDate = function(date) {
return moment(date).format('DD-MM-YYYY');
}}]);

它需要类似于:

$mdDateLocaleProvider.formatDate = function(date) {
var m = moment(date);
return m.isValid()? m.format('DD-MM-YYYY') : '';
};

然后就可以设置了

$scope.user.dob=null;

并获得一个空的日期选择器。

关于angularjs - Angular Material 日期选择器字段值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40531104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com