繁体   English   中英

如何从Dijit FilteringSelect小部件中删除所有选项?

[英]How to remove all options from a Dijit FilteringSelect widget?

我尝试从dijit.form.filteringselect中删除所有选项,并使用以下函数向dijit.form.filteringselect添加选项。 但是,我收到一个错误: 没有方法getOptions和addOption 我正在使用道场1.7

function showTablesDropDown(tableDiv){
  dijit.byId(tableDiv).removeOption(dijit.byId(tableDiv).getOptions());
  dijit.byId(tableDiv).addOption(dojo.create("option", {label:"None", value:"None"}));
}

如何从dijit.form.filteringselect中删除所有选项并将选项添加到dijit.form.filteringselect?

这里的问题只是对FilteringSelect (以及从_AutoCompleterMixin继承的任何东西)如何与其数据交互产生轻微的误解。 无论您如何创建FilteringSelect小部件,控制其选项的基础机制都是一个遵循Dojo Store API的对象。

这意味着,为了修改FilteringSelect小部件的选项,您需要与此store进行交互。 我已经设置了这个小提琴来演示,但基本上你想要将你的功能改为:

function showTablesDropDown(tableDiv){
   var filteringSelectWidget = dijit.byId(tableDiv);

   // Clear current value since options are changing.
   filteringSelectWidget.set("value", ""); 

   var store = filteringSelectWidget.get("store");
   var newData = [{label: "None", value: "None"}];    

   // Give the underlying store a new data array.
   store.setData(newData);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM