在 ext 7 版本的组合框中搜索单词不起作用

searching a word does not work in combobox in ext 7 version

我在 EXT 版本 7 代码中有一个组合框。我的可编辑配置为真。我的代码如下。此代码类似于 sencha 文档中的代码。我刚刚将可编辑配置更改为 true 。当我们在文本字段中键入任何内容时,它会附加随机字符,并且搜索无法按预期进行。这是 Ext 7 的错误吗?我无法弄清楚。其他人也面临类似的情况吗?

Ext.create({
 fullscreen: true,
 xtype: 'container',
 padding: 50,
 layout: 'vbox',
 items: [{
     xtype: 'combobox',
     label: 'Choose State',
     queryMode: 'local',
     displayField: 'name',
     valueField: 'abbr',

     // For the dropdown list
     itemTpl: '<span role="option" class="x-boundlist-item">{abbr} - {name}</span>',

     // For the content of the text field
     displayTpl: '{abbr} - {name}',

     editable: true,

     store: [
         { abbr: 'AL', name: 'Alabama' },
         { abbr: 'AK', name: 'Alaska' },
         { abbr: 'AZ', name: 'Arizona' }
     ]
 }]

});```

现代工具包中的组合框组件也有同样的问题。我在 Ext JS 版本 6.5 中尝试了相同的设置,但出现了相同的错误。

我目前找到的唯一解决方法是不使用 displayTpl 配置。 然后它按预期工作。

编辑:

我对 ext-modern-all 进行了一些调试并找到了解决方案。 如果您希望能够编辑输入字段以及使用 displayTpl,则必须设置 forceSelection: true。否则它会将您的条目视为新记录,并且会出现此错误。 (https://docs.sencha.com/extjs/7.0.0/modern/Ext.field.ComboBox.html)

希望对您有所帮助。

不知道为什么第一个答案被选为正确答案,希望我下面的回答能最小化你的知识面。当您的问题是:

"When we type anything in textfield it appends random characters and the search does not work as expected."

我想试着理解这样的陈述:

"You want to try to search the item on your store or options by typing random character at any position of any matched item"

在这种情况下,您必须将这些属性添加到您的组合框中才能实现目标:

  anyMatch : true,   // this is the key
  caseSensitive : false,  //by default this has been set automatically
  minChars: 0,//by default this has been set automatically too
  forceSelection: false // set to false to allow free input to textfield with no matched result and set to true to force the user to choose one of the last matched result rather than giving the opportunity to input free text

在我们断定问题是否是错误之前,我们需要进行全面的研究才能得出确切的结论。不要忘记了解更多 https://docs.sencha.com/extjs/7.0.0/modern/Ext.field.ComboBox.html

希望对您有所帮助。