Knockout.js oracle JET Combobox(下拉列表)值在填充空数组时不会消失
我正在使用Oracle JET combobox,并在某些事件发生变化时动态地为其赋值。 将空数组指定给下拉列表时,它仍然显示旧的选定值(如图4所示) 下面是我编写的代码: HTML:Knockout.js oracle JET Combobox(下拉列表)值在填充空数组时不会消失,knockout.js,oracle-jet,Knockout.js,Oracle Jet,我正在使用Oracle JET combobox,并在某些事件发生变化时动态地为其赋值。 将空数组指定给下拉列表时,它仍然显示旧的选定值(如图4所示) 下面是我编写的代码: HTML: 将其值绑定到一个可观察的对象,如self.newDropDownValue 在更改事件处理程序时,将其设置为空self.newDropDownValue(“”) 如果不想使用单独的变量,则可以使用组件的reset()方法 document.getElementById('id2').reset(); 上述方法将
将其值绑定到一个可观察的对象,如
self.newDropDownValue
在更改事件处理程序时,将其设置为空self.newDropDownValue(“”
)
如果不想使用单独的变量,则可以使用组件的reset()
方法
document.getElementById('id2').reset();
上述方法将删除用户输入的值。请参阅下面的链接
我自己也有类似的问题。我找到了一个解决方法,但还没有调查它为什么有效,但它确实有效
元素的值
属性绑定到可观察数组
。即使它不是
元素,仍然要使用数组self.value([])
元素具有占位符
属性,否则,这将不起作用我很确定这种行为不是故意的,但它确实适合我。我已经尝试过了,它会创建一个“空白”选项。行为应该是,它不应该创建任何选项。您可以将
元素禁用
。创建一个自定义逻辑,将布尔值绑定到选项数组的长度,例如:selectDisabled=()=>self.value().length
然后将元素的disabled
属性绑定到该属性:
self.newDropDown1 =ko.observableArray([{name:'Chrome',value:1},
{name:'Opera' ,value:0},
{name:'Firefox' ,value:2}]);
self.newDropDown =ko.observableArray([{name:'Yes',value:1},
{name:'No' ,value:0}]);
self.myOnChange = function() {
self.newDropDown([]);
}
document.getElementById('id2').reset();