簡體   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