ExtJS6:添加的新记录不会显示在列表存储中

ExtJS6:添加的新记录不会显示在列表存储中,extjs,extjs6,Extjs,Extjs6,在extjs中,当使用.save创建记录时,它返回id为的记录,但不会自动显示在列表存储中。当您使用Ext.create('MyModel')创建记录时,它首先不是任何存储的一部分。可能有不止一家商店可以容纳它,也可能没有。除非您将其添加到特定的存储中,否则它将独立运行。例如: var model = Ext.create('MyModel',{ field1:'ABC', field2:123 }); model.save({ success:function(reco

在extjs中,当使用.save创建记录时,它返回id为的记录,但不会自动显示在列表存储中。当您使用
Ext.create('MyModel')
创建记录时,它首先不是任何存储的一部分。可能有不止一家商店可以容纳它,也可能没有。除非您将其添加到特定的存储中,否则它将独立运行。例如:

var model = Ext.create('MyModel',{
    field1:'ABC',
    field2:123
});
model.save({
    success:function(record) {
        if(record.get("id")%2==0) storeEven.add(record);
        else storeOdd.add(record);
    }
});
除非您需要服务器提供的附加信息来决定将模型添加到哪个存储中,否则更好的方法是直接将模型添加到存储中,因此您可以将配置添加到存储中,然后同步存储,而不是通过显式名称创建模型:

var model = store.add({
    field1:'ABC',
    field2:123
});
store.sync();

这样,您的商店就会知道您的模型已保存到服务器。如果您使用model.save将模型存储在服务器上,然后将其添加到存储中,然后运行
store.sync()
,则该模型将再次发送到服务器。

当您使用
Ext.create('MyModel')
创建记录时,它首先不是任何存储的一部分。可能有不止一家商店可以容纳它,也可能没有。除非您将其添加到特定的存储中,否则它将独立运行。例如:

var model = Ext.create('MyModel',{
    field1:'ABC',
    field2:123
});
model.save({
    success:function(record) {
        if(record.get("id")%2==0) storeEven.add(record);
        else storeOdd.add(record);
    }
});
除非您需要服务器提供的附加信息来决定将模型添加到哪个存储中,否则更好的方法是直接将模型添加到存储中,因此您可以将配置添加到存储中,然后同步存储,而不是通过显式名称创建模型:

var model = store.add({
    field1:'ABC',
    field2:123
});
store.sync();

这样,您的商店就会知道您的模型已保存到服务器。如果您使用model.save将模型存储在服务器上,然后将其添加到存储中,然后运行
store.sync()
,则该模型将再次发送到服务器。

能否提供更多信息?请创建一个工作示例,清楚地显示您所面临的问题。这样我们可以更好地帮助你。你能提供更多的信息吗?请创建一个工作示例,清楚地显示您所面临的问题。这样我们可以更好地帮助你。