解決layui擴(kuò)展select -- formselects (使用的formSelects-v4)本地?cái)?shù)據(jù)過濾(查詢)后全選,勾選了全部的問題 這個(gè)問題是layui通病bug

解決layui擴(kuò)展select -- formselects (使用的formSelects-v4)本地?cái)?shù)據(jù)過濾(查詢)后全選,勾選了全部的問題
這個(gè)問題是layui通病bug,網(wǎng)上搜索了也沒找到解決的辦法,最后經(jīng)過自己的不斷摸索,終于搗鼓出來的解決辦法
下面的操作都在? layui.use...里面進(jìn)行的,


var formSelects =layui.formSelects;

formSelects.btns('product', ['select','remove'], {show:'name'});
// 在這里調(diào)用自定義的處理方法
// 自定義處理方法(解決搜索后點(diǎn)擊全選bug問題)-路徑在res/js/common_form.js

cumHandle('product',formSelects); // 這是自定義的方法(抽離出來方便引用,也可以放獨(dú)立的js供全局引用)

// 搜索多選-處理的函數(shù) selectName為xm-select的值,formSelects為 layui.formSelects對(duì)象;

function cumHandle(selectName, formSelects) {

var isSearchVal =false;

// 解決搜索后多選會(huì)選全部數(shù)據(jù)的問題

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

// 如果搜索文案存在時(shí)

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

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

? ? isSearchVal =true;// 記錄是否是過濾得到的值

? ? return false;

}

val.isHidden =true;// 記錄被過濾的(隱藏標(biāo)識(shí))

? return true;// 返回true,不會(huì)顯示

? })

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

// 如果是隱藏的并且isSearchVal=true時(shí),return false阻止選中

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

})

formSelects.opened(selectName,function() {

// select打開時(shí),設(shè)置isSearchVal為false,此時(shí)選中不作限制

? isSearchVal =false;

})

}
直接上圖:

看看我這塊leyui頁面的寫法(搜索過濾是通過本地搜索,并非遠(yuǎn)程搜索),上圖:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容