【问题标题】:Angular ngOptions 'track by' and null value validation issueAngular ngOptions 'track by' 和空值验证问题
【发布时间】:2015-07-28 13:10:53
【问题描述】:

我有一个使用 ngOptions 和“track by”功能的选择列表,如下所示:

<select validdate="{{date}}" ng-model="code" ng-options="code.description for code in codelist track by code.value">
        <option value=""></option>
</select>

代码对象具有各种属性,包括确定代码有效性的开始日期和结束日期。有一个单独的“日期”属性,用于检查是否可以选择代码。对于这个有效日期指令,我需要整个对象,因此我使用 track by 并且不能使用“as”来填充 ng-model 属性。

这可以正常工作,但初始 null 值除外。

当验证返回 false(并相应地标记选择框)并且用户随后选择空值时,验证不会被重置。

不会调用验证器,即使 ng-model 属性“代码”从对象更改为空值。似乎因为track by,它不会触发validation指令。有谁知道这个的解决方案吗?

【问题讨论】:

  • 您可以创建一个 js fiddle 页面以便我们轻松帮助您吗?
  • 我做了一个JSFiddle,一开始无法重现。原来这是我在项目中使用的 Angular 版本(1.3.8)中的一个错误。升级或降级 Fiddle 中使用的版本解决了这个问题。作为参考,这是错误的版本:jsfiddle.net/2tvy2jgh/1

标签: angularjs ng-options angularjs-ng-options angularjs-track-by


【解决方案1】:

这是我的特定 Angular 版本 1.3.8 中的一个错误。升级解决了它,但作为参考,这个 JS Fiddle 显示了错误(并且更改了那里的版本解决了错误)http://jsfiddle.net/2tvy2jgh/1/

enter code here

【讨论】:

    猜你喜欢
    • 2014-06-17
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多