extjs 6组合框重新加载显示的值

时间:2019-09-11 17:57:30

标签: extjs

在setValue()之后加载商店时,最终显示的是valueField。商店加载完毕后,我们单击下拉列表,正确的项目将突出显示。但是输入字段本身不会使用displayField值更新。

我们如何刷新组合框的输入元素以反映所选项目的显示字段?

2 个答案:

答案 0 :(得分:1)

setValue()放入商店加载的回调函数中。假设combo是组合框,您的代码应该像这样。

combo.store.load({
    callback: function (rec) {
       combo.setValue(value);
    }
});

答案 1 :(得分:0)

我建议在使用setValue()之前,先使用clearValue()选项。这将删除组合框之前具有的基础值。但是,如果要设置组合框的值,但尚未加载存储,并且它是远程组合框,建议您先将记录添加到组合框的存储中,然后再将值设置为该记录。再次加载存储后,将清除存储,但您仍将拥有第一个值。

combobox.getStore().insert(0, {
   id: 1,
   name: 'displayField'
});
combobox.setValue(1); //if your valueField is id

上述方法的文档:https://docs.sencha.com/extjs/6.6.0/classic/Ext.form.field.ComboBox.html https://docs.sencha.com/extjs/6.6.0/classic/Ext.data.Store.html