在Angular2应用程序中,只有在满足多个条件的情况下,提交按钮才启用。我为此使用[disabled]="disabled(j)"
。
html:
<button type="submit" class="submit" [disabled]="disabled(j)">Submit</button>
组件:
disabled(j) {
if (this.form.valid && j === this.userId) {
return false;
} else {
return true;
}
}
它在Chrome中完美运行,但在IE中不起作用。检查DOM元素显示,它有[disabled]="disabled(j)"
而不是[disabled]=""
该如何解决?
答案 0 :(得分:0)
作为解决方法,您可以直接将条件直接添加到[disabled]
属性
<button type="submit" class="submit" [disabled]="!(form.valid && j === userId)">Submit</button>
答案 1 :(得分:0)
最可能的问题是用于表单验证的polyfill(使用HTML5和ES6标准),而不是输入指令中的函数。更具体地说,该项目可能是罪魁祸首:this.form.valid
了解如何添加polyfill,以及需要哪些额外的软件包:https://angular.io/guide/browser-support
注意:IE在大多数应用程序中都被视为不推荐使用的浏览器,因此应避免完全支持(特别是对于版本<10)。对于10/11,仍需要使用ES6填充胶。
答案 2 :(得分:0)
这可能与polyfills有关,因为您正在使用IE,因此可能必须手动更新它们。看到这里:Angular 2 / 4 / 5 not working in IE11