解决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;

})

}
直接上图:

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

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

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

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
励志前行的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容