You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS+Ionic日期选择器ng-model失效,默认值无法设置

解决Ionic 1.x日期选择器默认值不生效问题

核心解决步骤

1. 提供完整ISO 8601格式的日期值

旧版ion-datetime-picker可能不支持仅日期的ISO字符串,必须提供带时间的完整格式。修改赋值代码:

// 注意月份是0基,3对应4月,与目标日期2022-04-21匹配
$scope.data.demographics.pmiDOB = new Date(2022, 3, 21).toISOString();

2. 提前初始化数据对象结构

如果$scope.data.demographics是后续才创建的,会导致日期选择器初始化时无法读取到值。先完成对象初始化:

// 控制器初始化时就构建完整数据结构
$scope.data = {
  demographics: {
    pmiDOB: new Date(2022, 3, 21).toISOString()
  }
};

3. 手动触发AngularJS脏检查

若赋值操作在非Angular上下文(比如原生回调)中执行,需用$apply强制更新视图:

$scope.$apply(function() {
  $scope.data.demographics.pmiDOB = new Date(2022, 3, 21).toISOString();
});

4. 配置指令的日期格式匹配

给ion-datetime-picker添加format属性,与显示格式对齐:

<div class="row">
  <div class="col col-33">
    <strong>&nbsp;DOB: </strong>
  </div>
  <div class="col">
    <span ion-datetime-picker date ng-model="data.demographics.pmiDOB" format="DD/MM/YYYY">
      {{data.demographics.pmiDOB | date: "dd/MM/yyyy"}}
    </span>
  </div>
</div>

5. 验证组件版本兼容性

未知版本的ion-datetime-picker可能与Ionic 1.3.2、AngularJS 1.8.0存在兼容问题,建议更换为适配Ionic 1.x的稳定版本(如v0.1.16),并确保脚本加载顺序:AngularJS → Ionic → ion-datetime-picker。


内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:40:24