Значение исчезает при вводе в поле со списком - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть поле со списком.Когда я пытаюсь найти имя, введенное мной значение автоматически исчезает, и поиск не происходит должным образом.Но если я выбираю из выпадающего списка, то он работает правильно.

Проблемы:

  1. После помещения чего-либо в поле со списком, этоисчезает автоматически.
  2. Пользователь не может найти имя, вставив первые несколько букв.
  3. Имя не соответствует приоритету.

Я пробовал typeAhead, но он не работает.

Код:

          xtype: 'combobox',
                    itemId: 'abc_VendorName',
                    inputId: 'abc_VendorName',
                    cls: 'FieldLabel',
                    margin: '0 0 3 0',
                    fieldLabel: 'Vendor Name:',
                    labelSeparator: '',                   
                    msgTarget: 'side',
                    displayField: 'namewithSLID',
                    valueField: 'code',
                    matchFieldWidth: false,
                    forceSelection: true,
                    enableKeyEvents: true,
                    minChars: 1,
                    pageSize: 25,
                    listeners: {
                        change: 'onVendorNameChange',
                        blur: 'onVendorNameBlur'
                    },

Два слушателя -

onVendorNameChange: function (combo, newValue, oldValue, eOpts) {
        var me = this;
        var view = me.getView();
        var viewmodel = me.getViewModel();

        if (combo.getValue() > 0) {
            var selectedRecord = combo.selection;
            if (selectedRecord == null || selectedRecord === undefined) {
                return;
            }

            var alias = selectedRecord.get('abbreviation');
            var finslCode = selectedRecord.get('code');

            view.down("#dspl_VendorAlias").setValue(alias);

            viewmodel.get('theRecord').set('finslAbbreviation', selectedRecord.get('abbreviation'));
            viewmodel.get('theRecord').set('finslSLID', selectedRecord.get('slid'));

            me.implementVendorItemMarkup(finslCode);
        }
    },


onVendorNameBlur: function (combo, event, eOpts) {
        var me = this;
        var view = me.getView();
        var viewmodel = me.getViewModel();

        if (combo.getValue() == null) {
            view.down("#dspl_VendorAlias").setValue(null);
            viewmodel.get('theRecord').set('finslAbbreviation', null);
            viewmodel.get('theRecord').set('finslSLID', null);
        }
    },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...