0
如果單詞匹配,則typeahead可以正常工作,但是如果輸入的字符不正確,則不匹配,則輸入的所有文本都將消失。EXTJS 4.2 - 未找到匹配項時重置組合框
例如,
奧迪式先行作品,並發現奧迪。
金型前方作品,發現奧迪。
輔助類型向前找不到文本,但空白輸入的組合框文本,因此我不能退格x並繼續我的搜索。
X - 鍵入預先輸入的文本,爲了能夠再次搜索,我必須退格一個空白字符。
問題:
1)關於如何解決這個問題的任何想法?到目前爲止,我的研究是指向afterQuery函數,但目前爲止還沒有確定性。
2)是否可以重寫typeahead並改爲使用自定義過濾器? (這將是我的首選選項)
這是代碼...。
Ext.require(['*', 'Ext.ux.data.PagingMemoryProxy']);
Ext.define('Filter.data.Store', {
extend: 'Ext.data.Store',
id: 'carsStore',
autoLoad: true,
fields: ['name'],
pageSize: 3,
remoteFilter:true,
proxy: {
type: 'pagingmemory',
// url: 'data.json',
reader: {
type: 'json',
root: 'items',
totalProperty: 'total'
}
}
});
Ext.onReady(function() {
var itemsPerPage = 4,
data = {
"total": 6,
"items": [{
'name': 'Ford'
}, {
'name': 'GM'
}, {
'name': 'VW'
}, {
'name': 'Audi'
}, {
'name': 'Ferrari'
}, {
'name': 'McLaren'
}]
},
store = Ext.create('Filter.data.Store',{
data:data
});
store.load();
Ext.create('Ext.grid.Panel', {
title: 'ComboBox TypeAhead Issue',
store: store,
columns: [{
header: 'Name',
dataIndex: 'name'
}, ],
width: 700,
height: 150,
dockedItems: [
{
xtype: 'combobox',
width: 7,
hidden: false,
store: store,
fieldLabel: 'name',
pageSize: true,
displayField: 'name',
valueField: 'name',
forceSelection: true,
editable: true,
typeAhead: true,
queryMode: 'local',
}],
renderTo: Ext.getBody()
});
});