Javascript 获取并发送id标记字段值。Extjs

Javascript 获取并发送id标记字段值。Extjs,javascript,extjs,extjs6,Javascript,Extjs,Extjs6,网格中有两个字段: ... { text: 'Спец. учетка', sortable: true, dataIndex: 'specuserName', flex: 2, editor: { xtype: 'combobox',

网格中有两个字段:

...
{
                    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();
    }
});
首先,我获取所选
组合框的id
值​​并将其设置为发送到服务器,然后我尝试获取所选
tagfields
值的id​​将它们发送到服务器,但我没有正确理解。 如何设置所选值的id​​使用
tagfield
转到服务器。
谢谢。

由于将标记字段的
显示字段设置为“name”会阻止获取所选记录ID的数组,因此另一种实现方法是使用标记字段的方法。我们可以将此方法的结果传递给,并仅收集ID:

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

由于将标记字段的
displayField
设置为“name”会阻止获取所选记录ID的数组,因此实现这一点的另一种方法是使用标记字段的方法。我们可以将此方法的结果传递给,并仅收集ID:

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

你说得不对到底是什么意思?您在
valuetag
中实际得到了什么?@scebotari66我得到了值,但我需要id值​​要将它们发送到服务器,这是因为您为标记字段的
valueField
config指定了“name”。当我在valueField配置中指定id时,请尝试指定“id”@scebotari66,即保存的值​​在tagfield字段中,显示为id,我需要以名称的形式显示。您不正确的意思是什么?您在
valuetag
中实际得到了什么?@scebotari66我得到了值,但我需要id值​​要将它们发送到服务器,这是因为您为标记字段的
valueField
config指定了“name”。当我在valueField配置中指定id时,请尝试指定“id”@scebotari66,即保存的值​​在tagfield字段中显示为id,我需要以名称的形式显示我做到了,并且它可以工作。谢谢
var tagfields=ctx.grid.columns[vendorColIdx].getEditor(ctx.record);var tagfieldSeletedIds=Ext.Array.map(tagfields.getValueRecords(),函数(record){return record.getId()});ctx.record.set('users_id',tagfieldSeletedIds);ctx.grid.getStore().sync()我做到了,而且效果很好。谢谢
var tagfields=ctx.grid.columns[vendorColIdx].getEditor(ctx.record);var tagfieldSeletedIds=Ext.Array.map(tagfields.getValueRecords(),函数(record){return record.getId()});ctx.record.set('users_id',tagfieldSeletedIds);ctx.grid.getStore().sync()