我有一个网格板,里面有一些记录。但是这个网格面板的元素是子元素。所以,当我在网格中创建一个新的记录,或者更新一个已有的记录时,我想把额外的param作为父id发送给服务器端(parent是表的一个)。我用的是直营店。
我知道,有远程过滤器,但看起来,它们只在读取操作时发送,而不是在创建或更新时发送。
发布于 2016-01-20 00:02:11
不仅在读取操作(创建、销毁、更新)时始终发送extraParams
我扩展了
Ext.data.proxy.Direct
和覆盖
doRequest
它就像一个护身符一样有效。
使用ExtJs 4.1.1
原始代码是:
if (operation.action == 'read') {
// We need to pass params
method = fn.directCfg.method;
args = method.getArgs(params, me.paramOrder, me.paramsAsHash);
} else {
args.push(request.jsonData);
}我将其更改为:
method = fn.directCfg.method;
args = method.getArgs(params, me.paramOrder, me.paramsAsHash);
if(operation.action !== 'read'){
args.push(request.jsonData);
}从这里开始的想法,https://www.sencha.com/forum/showthread.php?282879-ExtraParams-Store-Create
注意:您的存储区将拥有您添加到您创建的类的别名上的任何内容的代理。您的别名将类似于alias : 'proxy.mycompanydirect',那么您的商店将具有代理类型'mycompanydirect'
发布于 2012-07-01 04:51:49
如果要发送额外的参数,请使用代理上的extraParams属性
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.proxy.Server-cfg-extraParams
发布于 2012-12-04 14:18:36
extraParams:
将包含在每个请求中的
Object4额外参数。当参数冲突时,具有相同名称的参数的单个请求将覆盖这些参数。
var store = Ext.create('Ext.data.Store', {
// destroy the store if the grid is destroyed
autoDestroy: true,
model: 'Plant',
proxy: {
extraParams: {name: 'dfds'}, // to send extra parmas
...
}
});https://stackoverflow.com/questions/11273093
复制相似问题