解决layui扩展select -- formselects (使用的formSelects-v4)本地数据过滤(查询)后全选,勾选了全部的问题 这个问题是layui通病bug

解决layui扩展select -- formselects (使用的formSelects-v4)本地数据过滤(查询)后全选,勾选了全部的问题
这个问题是layui通病bug,网上搜索了也没找到解决的办法,最后经过自己的不断摸索,终于捣鼓出来的解决办法
下面的操作都在  layui.use...里面进行的,


var formSelects =layui.formSelects;

formSelects.btns('product', ['select','remove'], {show:'name'});
// 在这里调用自定义的处理方法
// 自定义处理方法(解决搜索后点击全选bug问题)-路径在res/js/common_form.js

cumHandle('product',formSelects); // 这是自定义的方法(抽离出来方便引用,也可以放独立的js供全局引用)

// 搜索多选-处理的函数 selectName为xm-select的值,formSelects为 layui.formSelects对象;

function cumHandle(selectName, formSelects) {

var isSearchVal =false;

// 解决搜索后多选会选全部数据的问题

  formSelects.filter(selectName,function(id,inputVal,val) {

// 如果搜索文案存在时

  if (val.name.indexOf(inputVal) != -1) {

val.isHidden =false;// 是否隐藏

    isSearchVal =true;// 记录是否是过滤得到的值

    return false;

}

val.isHidden =true;// 记录被过滤的(隐藏标识)

  return true;// 返回true,不会显示

  })

formSelects.on(selectName,function (id,vals,val){

// 如果是隐藏的并且isSearchVal=true时,return false阻止选中

  if (val.isHidden &&isSearchVal)return false;

})

formSelects.opened(selectName,function() {

// select打开时,设置isSearchVal为false,此时选中不作限制

  isSearchVal =false;

})

}
直接上图:

看看我这块leyui页面的写法(搜索过滤是通过本地搜索,并非远程搜索),上图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容