gpt4 book ai didi

javascript - 清空 Angular 中的输入字段

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:05 25 4
gpt4 key购买 nike

当用户输入然后清除输入字段中的文本时,Angular 似乎有不同的行为,具体取决于该字段是否是必需的。

看看这个example .默认情况下,模型是 user = {"name":"guest","last":"visitor"}。当清除这两个字段时,模型变为 user = {"last":""} 而我期望的是 user = {}

为什么会这样?并且,有没有一种方法可以让这两个字段具有相同的行为,而无需使它们都(不是)成为必需的?

更新:

最后我使用了 watch 的解决方法:

$scope.$watch('user',function(newValue) {
for (var prop in newValue) {
if (newValue.hasOwnProperty(prop)){
if (newValue[prop] !== undefined && newValue[prop] == "")
newValue[prop] = undefined;
}
}
}, true);

很可能最后一个 if 条件可以更有效地编写,但至少它似乎按预期工作。

最佳答案

当验证出现错误时,the model is set to undefined因此消失的 name 键(使用 required 验证)。

这是 Angular 中的一个已知错误,带有 ng-minlength 的空字段不会正确失效。如果您将该值设置为 a(仍然比最少 3 个字母少 2 个字母),您会注意到两个键都正确消失了。

https://github.com/angular/angular.js/issues/7277

关于javascript - 清空 Angular 中的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33274220/

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