获取和发送 id 标记字段值。扩展程序

Get and send id tagfield values. Extjs

网格中有两个字段:

...
{
                    text: 'Спец. учетка',
                    sortable: true,
                    dataIndex: 'specuserName',
                    flex: 2,
                    editor: {
                        xtype: 'combobox',
                        store: 'Vendors',
                        displayField: 'name',
                        valueField: 'name',
                        //editable: false,
                        queryMode: 'remote',
                        //forceSelection: true,
                        triggerAction: 'all',
                        allowBlank: true
                    }
                },
                {
                        header: 'Сотрудники группы',
                        dataIndex: 'users',
                        flex:2,
                        editor: {
                            xtype: 'tagfield',
                            typeAhead: true,
                            queryMode: 'remote',
                            filterPickList: true,
                            triggerOnClick: true,
                            displayField: 'name',
                            valueField: 'name',
                            triggerAction: 'all',                          
                            store: 'IntraUsers',

                        }
                },
...

ViewController 看起来像这样:

Ext.define('App.view.MainIntranetController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.intranetcontainer',
    onGridEditorIntraEdit: function (editor, ctx, eOpts) {
        //combobox
        var vendorColIdx = 2;
        var combo = ctx.grid.columns[vendorColIdx].getEditor(ctx.record);
        var vendorRecord = combo.findRecord('name', combo.getValue());
        console.log(vendorRecord);
        ctx.record.set('specuserId', vendorRecord.get('id'));
        //tagfield
        var vendorColIdx = 3;
        var tagfields = ctx.grid.columns[vendorColIdx].getEditor(ctx.record);
        var valuetag = tagfields.getValue();
        //ctx.record.set('mainusersId', vendorRecord.get('id'));
       //ctx.record.set(valuetag);
       //console.log(ctx.record);
        //ctx.grid.getStore().sync();
    }
});

首先我获取了选中的combobox值的id并设置发送到服务器,然后我尝试获取选中的tagfields值的id来将它们发送到服务器,但我不正确。 如何让选中值的id带tagfield去到服务器。 谢谢。

由于将标签字段的 displayField 设置为 "name" 会阻止获取所选记录 ID 的数组,实现此目的的另一种方法是使用标签字段的 getValueRecords method. We can pass the result of this method to the Array's map function 并仅收集 ID:

var tagfieldSeletedIds = Ext.Array.map(tagfield.getValueRecords(), function(record) {
    return record.getId()
});