当我定义模型“TeMdl”然后使用Fn TeMdl.load(1)时,它将发送一个param id = 1的请求。 所以..如何更改id参数,以便请求可以这样:“...... \?uid = 1”? 我对extjs很新鲜!
答案 0 :(得分:1)
来自Ext文档中的注释:
load()方法不会遵循Model的idProperty,并假设它是“id”。
以下子类通过使用idProperty而不是id来修复此行为。
Ext.define("Ux.data.Model", {
extend: "Ext.data.Model",
statics: {
load: function(id, config){
config = Ext.apply({}, config);
var params={};
params[this.prototype.idProperty] = id;
config = Ext.applyIf(config, {
action: 'read',
params: params
});
var operation = Ext.create('Ext.data.Operation', config),
scope = config.scope || this,
record = null,
callback;
callback = function(operation) {
if (operation.wasSuccessful()) {
record = operation.getRecords()[0];
Ext.callback(config.success, scope, [record, operation]);
} else {
Ext.callback(config.failure, scope, [record, operation]);
}
Ext.callback(config.callback, scope, [record, operation]);
};
this.proxy.read(operation, callback, this);
}
}
});