dojo 如何从dijit/form/select中删除所有选项?

yptwkmov  于 2022-12-08  发布在  Dojo
关注(0)|答案(1)|浏览(249)

我使用一个非常简单的dijit/form/select在我的网页上我添加了几个选项的代码如下:

option1 = { value: "o1", label: "option 1", selected: false };
option2 = { value: "o2", label: "option 2", selected: true };

this.mySelect.addOption([option1, option2]);

但是,当我尝试使用以下代码清除dijit/form/select时:

this.mySelect.removeOption(this.mySelect.getOption());

我的所有选项都消失了,除了选定的一个。
我尝试使用.reset或甚至.value =“”,但没有任何效果。
那么如何从dijit/form/select中删除所有选项呢?

toe95027

toe950271#

实际上答案很简单,但没有很好的文档(it's pretty hard to find, like all dojo related stuff)

this.mySelect.removeOption(lang.clone(option1));
this.mySelect.removeOption(lang.clone(option2));

this.mySelect.store = null;
this.mySelect.set('value', '');
this.mySelect._setDisplay(""); //This line alone should do the trick

正如注解中所示,最后一行应该可以完成这个任务,但这样可以确保select元素被清除。

演示:JSFiddle demo

相关问题