【问题标题】:ExtJS6: Added new record does not show up in list storesExtJS6:添加的新记录不显示在列表存储中
【发布时间】:2023-03-28 08:10:01
【问题描述】:

在 extjs 中,当使用 .save 创建记录时,它会返回带有 id 的记录,但不会自动显示在列表存储中

【问题讨论】:

  • 您能提供更多信息吗?请创建一个有效的Fiddle 示例,清楚地显示您面临的问题。这样我们就能更好地帮助您。

标签: extjs extjs6


【解决方案1】:

当您使用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(),模型会再次发送到服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多