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(数据行数组)
}
};
评一波