我很好奇模型中idProperty
的一个实现以及读者中的一个实现,然后是代理的idParam
和模型上的clientIdProperty
我们如何以正确的方式使用它们?
答案 0 :(得分:5)
如果您将此作为来自服务器的响应:
{data: [{userid: 1234, username: "foo"}, {userid: 1235, username: "bar"}]}
因此,在您的UserModel中,您将idProperty
: "userid"
这将告诉ExtJS哪个字段用于getId(), getById()
等函数。您也可以在阅读器中定义它以在某些模型之间共享,但通常您应该在模型中定义idProperty
。
idParam
对我来说似乎很不清楚,它在整个框架中只使用了2次。仅用于修改发送到服务器的请求id参数。我不认为这是你需要改变的参数。
proxy.batchActions == true
,则需要 clientIdProperty
进行创建操作。例如:model.clientIdProperty = "extid"
如果我们创建了2个用户,它将发送到服务器:
{data: [
{extid: "ext-user-1", username: "foo"},
{extid: "ext-user-2", username: "bar"}
]}
服务器响应:
{data: [
{extid: "ext-user-1", userid: 1234, username: "foo"},
{extid: "ext-user-2", userid: 1235, username: "bar"}
]}
这将告诉ExtJS如何将服务器ID映射到预先生成的ext ID。
(如果clientIdProperty
为空,则ExtJS采用相同的请求和响应顺序)