我有一个带有商店+模型+ REST代理的可编辑网格 获取,更新和删除没有问题,但如果我这样做:
store.insert(0, {});
cellEditing.startEditByPosition({
row: 0,
column: 1
});
服务器响应:
{
"success":true,
"results":0,
"root":"data",
"message":null,
"data":{"TerritoryUserPK":"7f064ddd-d5c9-47ae-94cc-29da14d27962"},
"debug":null
}
其中“TerritoryUserPK”是模型的idProperty 我现在希望商店将这个id用于新对象,但它仍然是“ext-record-1”。
服务器响应必须如何,因此Ext Store除了新ID之外? 读者是这样的:
reader: {
type: 'json',
root: 'data',
messageProperty: 'message',
totalProperty: 'results'
}
答案 0 :(得分:1)
发现问题,store.load()获取一个包含元数据的对象,以便将阅读器的root属性设置为"rows"
。在POST请求之后,服务器使用没有元数据的对象和"data"
属性中的数据进行响应。读者会记住最后一个根属性,并将搜索"rows"
并且无法找到该属性。
因此,请始终了解元数据设置的值。
答案 1 :(得分:0)
尝试在模型中设置clientIdProperty
,并将ext生成的id返回到数据中......
例如,在您的模型中:
clientIdProperty: 'clientId'
在你的回复中:
data: [{id: 123, clientId: 'ext-record-1', ...}]
我不记得是否在配置的idProperty
(我认为是这样)或clientIdProperty
中将客户端ID发送到服务器...检查浏览器请求是否确定!