3.6之前的版本有缺陷不能用,需要在3.6以及之后的版本中使用
gridSelect提供了inputFilterable属性,设置后可以通过输入的数据对下拉区域中的数据进行过滤,但这个过滤模式值过滤当前加载的数据,不会过滤服务端的数据
可以在onOptionFilter事件实现服务端的过滤
把option中关联的data的autoLoad设置为false,把option中的autoLoad也设置为false,然后在onOptionFilter事件中实现option中关联的data的过滤
如:
Model.prototype.gridSelect3OptionFilter = function(event) { var inputFilterValue = event.inputFilterValue;//获取到输入框中输入的值 var data = this.comp("bizData1"); if (inputFilterValue) { data.setFilter("gridSelectFilter", "AP_SZ.fName like '%" + inputFilterValue + "%'");//给data设置filter,过滤需要的数据 data.refreshData(); var rows = []; data.each(function(param) { rows.push(param.row);//遍历过滤后的数据,把数据给一个数组变量 }); event.datas = rows;//把数组变量的值赋值给event中的datas(数据行数组) } };
评一波