我正在尝试针对数据视图放置一个搜索字段。数据视图顶部有一个工具栏,其中包含一个文本字段。在字段中输入一些文本时,我想调用搜索功能。到目前为止,我已经掌握了文本字段的侦听器,但是在用户开始在文本字段中输入内容后立即调用侦听器。
但是,我要做的是仅当用户在文本字段中输入至少 3 个字符时才启动搜索功能。我该怎么做?
下面的代码
看法
var DownloadsPanel = {
xtype : 'panel',
border : false,
title : LANG.BTDOWNLOADS,
items : [{
xtype : 'toolbar',
border : true,
baseCls : 'subMenu',
cls : 'effect1',
dock : 'top',
height : 25,
items : [{
xtype : 'textfield',
name : 'SearchDownload',
itemId : 'SearchDownload',
enableKeyEvents : true,
fieldLabel : LANG.DOWNLOADSF3,
allowBlank : true,
minLength : 3
}],
{
xtype : 'dataview',
border : false,
cls : 'catalogue',
autoScroll : true,
emptyText : 'No links to display',
selModel : {
deselectOnContainerClick : false
},
store : DownloadsStore,
overItemCls : 'courseView-over',
itemSelector : 'div.x-item',
tpl : DownloadsTpl,
id : 'cataloguedownloads'
}]
控制器:
init : function() {
this.control({
// reference to the text field in the view
'#SearchDownload' :{
change: this.SearchDownloads
}
});
SearchDownloads : function(){
console.log('Search functionality')
}
更新1:使用以下代码输入三个字符后,我能够抓住听众:
控制器
'#SearchDownload' :{
keyup : this.handleonChange,
},
handleonChange : function(textfield, e, eOpts){
if(textfield.getValue().length > 3){
console.log('Three');
}
}
任何有关如何在数据视图的存储中执行搜索的指导或示例将不胜感激。