2015-12-21 20 views
2

我正在開發extjs 6應用程序,最近發現無法使用setValue(value)方法設置ComboBox的值,當其存儲區不包含記錄時其中valueFiled等於value,如此處所述 http://docs.sencha.com/extjs/6.0/6.0.0-classic/#!/api/Ext.form.field.ComboBox-method-setValueEXTJS 6:當存儲區爲空時設置ComboBox的值

所以我的問題是有沒有其他方式來更改組合框的值,當它的存儲爲空(或不包含與valueFiled記錄等於value)?

+0

試試['select()'](http://docs.sencha.com/extjs/6.0/6.0.0-classic/#!/api/Ext.form.field.ComboBox-method-select)方法。 –

+0

我不明白...根據文檔'select(combo,record,eOpts)' **至少有一個列表項被選中時觸發** 我的商店中沒有任何元素(它是空的)所以是項目列表...此外這種方法不用於更改值 – Mitchapp

+0

我不認爲'select()'方法(不是事件)將起作用,因爲在該方法剛纔調用的代碼中'setValue()'在內部。爲什麼在沒有可供選擇的值列表時嘗試設置值?也許你可以使用'emptyText'配置來顯示一個值,當沒有設置? – cpastore84

回答

1

你想要setRawValue()而不是setValue()

+0

我最終使用了這種方法,但我必須檢查我的商店是空的還是不包含在使用之前,'valueFiled'的記錄等於'value'。 (item)&item item instanceof Ext.form.field.ComboBox && item.getStore()。getData()。length === 0){ item.setRawValue(value); } else { item.setValue(value); }' – Mitchapp

1

你認爲它是錯誤的。請看看https://fiddle.sencha.com/#fiddle/12t4,我在那裏工作沒有任何問題。

請檢查您是否有可能在您的組合上設置了forceSelection: true,因爲這會引發您所描述的行爲。

+0

實際上你的例子是錯誤的(與我的問題相比),只需在你的comboxBox中添加一個'valueField:'屬性',你的例子就不再工作了...... https://fiddle.sencha.com /小提琴/ 12t4。 關於'forceSelection',它默認保存(false)... – Mitchapp

+0

我已經在示例中添加了'valueField:'屬性'。我沒有看到任何行爲改變。它仍在工作。 – Alexander

+0

對不起,我給了你錯誤的鏈接,檢查這個https://fiddle.sencha.com/#fiddle/12到 – Mitchapp

相關問題