有没有更好的方法来防止md-select中的相同选项选择

时间:2016-12-07 09:19:27

标签: angularjs angular-material

我正在使用md-on-close md-select控件。我的用例建议在用户从下拉列表更改选项时向用户显示警告消息。这可以提醒您当前可见数据和所选选项不同步。

但是,我想仅在用户有效更改值时显示消息(忽略重新选择相同选项的情况)。

目前我在md-中更改了逻辑,因此只是展开和折叠显示错误消息,这是不可取的。

现在,我知道我可以从to a on-close on the $ watch md-on-close md-select`模型移动此逻辑,并在那里寻找有效的更改。

此外,我可以将最后选择的值存储在服务中,并可以比较每个$watch的值。

但是,我不想使用md-select因为我认为不适合这样做。在服务中添加和更新值似乎是一项冗余任务。

所以目前我正在寻找一种更好的比较方法。我正在修复库中的任何方法,因为对于像SELECT user.username, log.logid, log.logtype, log.logDate, log.logdata FROM ( SELECT user.username, log.logid, log.logtype, log.logDate, log.logdata, ROW_NUMBER() OVER (PARTITION BY user.username ORDER BY log.logDate DESC) AS rn FROM user INNER JOIN log ON user.userid = log.userid WHERE log.logtype = 'fatal') AS t WHERE t.rn = 1

这样的控件来说它似乎是一个非常简单和常见的用例

1 个答案:

答案 0 :(得分:0)

如果您不想使用手表,您只需使用ng-change指令,如下所示:

<md-select ng-model="selectedOption" ng-change="dropdownOptionChanged()">

然后处理dropdownOptionChanged()函数中的警告显示。

只有当用户选择更改模型时才会触发,如果用户选择了相同的选项,则不会触发。