ViewModel使用绑定到标记字段触发器的数组属性链接记录

2w3kk1z5  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(112)

使用ExtJS 7.3.1.27
我有一个表单视图,它的字段绑定到使用ViewModel链接功能加载的记录。
当我打开表单时,记录将自动加载并填充所有字段。
其中一个字段是标记字段,它也绑定到链接的记录。具体来说,它绑定到一个包含标记数组的属性,在本例中,属性名是selected_tags
标记字段值按常规绑定:

bind : {
   store: '{tags}',
   value: '{linked_rec.selected_tags}'
},

标记被正确加载到标记字段中,但记录变脏了。这个问题只发生在这个字段上。
这是ExtJS错误吗?

3wabscal

3wabscal1#

如果进行数据绑定,则按以下顺序进行:

  • 创建视图
  • 重置所有字段==>不脏
  • …20分钟后…//异步
  • 解析标记的数据绑定==>脏

如果要使用数据绑定,则必须在数据绑定解析后清除所有字段的脏状态。就我个人而言,我覆盖了我的字段,这样数据绑定就可以工作,而不会弄脏字段。
你可能想走这条路=>

Ext.define('Fiddle.view.MainModel', {
    extend: 'Ext.app.ViewModel',
    alias: 'viewmodel.main',

    links: {
        formData: {
            type: 'Fiddle.model.Form',
            id: 1
        }
    },

    formulas: {
        formDataUpdate: {
            bind: '{formData}',
            get: function(formData) {
                this.getView().loadRecord(formData);
            }
        }
    }
});

我正在监听要解析的链接,并调用loadRecord填充视图。这将为你做清清楚楚的工作。
!! 视图中没有数据绑定!!

相关问题