我目前无法使用新参数重新加载json存储.这是我的商店:
newsletters = new Ext.data.JsonStore({
url: '/newsletters/',
root: 'results',
fields: [
'id',
'body'
'recipients'
],
baseParams: { command: 'json', to: dateTo, from: dateFrom },
autoLoad: true
});
Run Code Online (Sandbox Code Playgroud)
dateTo和dateFrom是最初为空的字符串(''),并使用正确的参数调用firebug/newsletters中的签入.
现在,以下技术要求都不起作用:
更改dateTo和dateFrom的值然后调用newsletters.reload()仍然调用带有参数的页面为空字符串.
调用newsletters.reload( { to: 'test1', from: 'test2' } );
仍将参数视为空字符串.
最后从我尝试过的手册开始:
lastOptions = newsletters.lastOptions;
Ext.apply(lastOptions.params, {
to: 'test1',
from: 'test2'
});
newsletters.reload(lastOptions);
Run Code Online (Sandbox Code Playgroud)
这再次没有请求/具有更新参数的新闻通讯.
任何建议赞赏!
Mch*_*chl 29
You can actually pass params object to the load() method
newsletters.load({
params: {to: 'test1', from: 'test2'}
})
Run Code Online (Sandbox Code Playgroud)
从文档中,您可以做到:
store.setBaseParam('to', dateTo);
Run Code Online (Sandbox Code Playgroud)
现在,如果我理解正确,您希望每当更改dateTo和dateFrom时更改baseParams.
你可以尝试:
var dateTo = '', dateFrom = '';
store.on('beforeload', function(s) {
s.setBaseParam('to', dateTo);
s.setBaseParam('from', dateFrom);
});
// This should work :
dateTo = 1;
dateFrom = 2;
store.load();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45478 次 |
最近记录: |