首页 > 解决方案 > 表单和网格 Extjs 之间的绑定

问题描述

所以我想要实现的是用选定的行记录填充表单和/或通过表单编辑行,通过 ViewModel 所以它是双向绑定,我已经在 states 字段中完成了但我在其他领域遇到问题时,我尝试了公式,但也没有用。这是一个处理记录的处理程序,但我无法将它们与表单字段绑定。

   store = this.getView().getStore();
         var records = record.getSelected().items[0].data;
                //var record = records[0];
                 console.log('showChart',records)
                if (records) {
                    this.getView().getDialog().loadRecord(records);
                }
       console.log(records.name);

这是我的小提琴示例

标签: javascriptphpmvvmextjssencha-architect

解决方案


您需要将所选记录传输到表单并设置bind: {value: ''}表单字段的绑定 ( ) 属性。一种简单的方法是将选定的网格记录传递给 Test.main.Form 的 viewModel。看:

主控制器.js:

...
showChart: function (record, selModel) {

    var form = Ext.create({
        xtype: 'testform'
    });

    //selModel is actually an array of selected records.
    form.getViewModel().set('record', selModel[0]);

    form.show();

},
...

表单.js:

...
items: [{
    label: 'First Name',
    name: 'first',
    bind: {
        //record that was set in the showChart function.
        value: '{record.name}'
    }
...

尝试使用其他字段。

我希望这有帮助。有任何问题,请告诉我。


推荐阅读