EXT-JS ui 添加数据到存储后不更新
EXT-JS ui not updating after adding data to store
我正在尝试在项目创建后将其添加到组合框,但商店数据已添加但未在 UI 中更新。
Ext.onReady(function () {
Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
autoLoad: true,
fields: ["name", "value"],
listeners: {
load: function(store, rec) {
store.add([["val1",1],["val2",2]]);
}
}
});
Ext.create('Ext.form.field.ComboBox', {
store: Ext.data.StoreManager.lookup('simpsonsStore'),
valueField: "value",
displayField: "name",
renderTo: Ext.getBody()
});
var s2 = Ext.getStore('simpsonsStore');
s2.loadData([["val3",3]],true);
});
首先添加 Val1 和 Val2。渲染后我想添加 val3
我认为 autoload=true
假设没有数据并且正在鞭打 s2.loadData()
首先执行。
这在最新版本中不会发生。
在没有自动加载的情况下手动调用 store.load()
解决了问题。组合框也需要 queryMode='local'
类似工作fiddle:http://jsfiddle.net/tonymayoral/8jzfo7zj/1/
var st=Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
//autoLoad: true,
fields: ["name", "value"],
listeners: {
load: function(store, rec) {
store.add([["val1",1],["val2",2]]);
}
}
});
st.load();
Ext.create('Ext.form.field.ComboBox', {
store: Ext.data.StoreManager.lookup('simpsonsStore'),
valueField: "value",
displayField: "name",
queryMode:'local', //needs to be local
renderTo: Ext.getBody()
});
var s2 = Ext.getStore('simpsonsStore');
s2.loadData([["val3",3]],true)
我正在尝试在项目创建后将其添加到组合框,但商店数据已添加但未在 UI 中更新。
Ext.onReady(function () {
Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
autoLoad: true,
fields: ["name", "value"],
listeners: {
load: function(store, rec) {
store.add([["val1",1],["val2",2]]);
}
}
});
Ext.create('Ext.form.field.ComboBox', {
store: Ext.data.StoreManager.lookup('simpsonsStore'),
valueField: "value",
displayField: "name",
renderTo: Ext.getBody()
});
var s2 = Ext.getStore('simpsonsStore');
s2.loadData([["val3",3]],true);
});
首先添加 Val1 和 Val2。渲染后我想添加 val3
我认为 autoload=true
假设没有数据并且正在鞭打 s2.loadData()
首先执行。
这在最新版本中不会发生。
在没有自动加载的情况下手动调用 store.load()
解决了问题。组合框也需要 queryMode='local'
类似工作fiddle:http://jsfiddle.net/tonymayoral/8jzfo7zj/1/
var st=Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
//autoLoad: true,
fields: ["name", "value"],
listeners: {
load: function(store, rec) {
store.add([["val1",1],["val2",2]]);
}
}
});
st.load();
Ext.create('Ext.form.field.ComboBox', {
store: Ext.data.StoreManager.lookup('simpsonsStore'),
valueField: "value",
displayField: "name",
queryMode:'local', //needs to be local
renderTo: Ext.getBody()
});
var s2 = Ext.getStore('simpsonsStore');
s2.loadData([["val3",3]],true)