KnockoutJS必需/禁用属性未删除

所以我有一个淘汰赛原型,你动态添加输入,然后设置他们自己的设置。 将其视为表单构建者就是这样。 但是,我注意到禁用和必需function不是很好。 它将值设置为disabled或required,但是当我将其设置为false时,它仍然保留在没有状态的元素上,导致它仍然起作用。 请任何人可以帮助或给予指导。

HTML

Here be draggables!

JS

 $(function(){ var InputItem = function InputItem(label, type, name, placeholder, disabled, value) { this.label = ko.observable(label); this.type = ko.observable(type); this.name = ko.observable(name); this.placeholder = ko.observable(placeholder); this.disabled = ko.observable(disabled); this.value = ko.observable(value); } var ViewModel = function ViewModel() { var that = this; this.inputItems = ko.observableArray([]); this.addInput = function addInput() { that.inputItems.push(new InputItem()); }; } ko.applyBindings(new ViewModel()); }); 

你最好使用Knockout自己的内置disable绑定处理程序:

  

见小提琴

或者,您可以在条件中检查明确的“真实性”,以便Knockout在不满足条件时删除该属性。 例如:

  

看到这个小提琴 (在’禁用’输入中键入’true’以激活disabled )。