Bootstrap-Table多徽章状态列筛选重复选项问题求助
修复Bootstrap-Table筛选控件重复选项问题
问题根源在于你的tableFilterStripHtml函数仅返回合并后的单个字符串,要么是多个状态被合并成单一选项导致重复,要么是未将单元格内的多状态拆分为独立选项。按以下方式修改即可解决:
- 调整数据收集函数,拆分单个单元格内的多状态并返回数组(根据你实际的状态分隔规则调整拆分逻辑):
window.tableFilterStripHtml = function (value) { // 清除所有HTML标签,提取纯文本 const plainText = value.replace(/<[^>]+>/g, '').trim(); // 按空格拆分多状态(若你的状态用逗号分隔,替换为split(/,\s*/)即可) return plainText.split(/\s+/).filter(item => item); // 过滤拆分后产生的空字符串 }
原理:Bootstrap-Table的data-filter-data-collector支持返回数组,返回数组时会将数组内每个元素作为独立筛选选项,且控件会自动对所有选项去重,既解决重复问题,也能实现单个状态的精准筛选。
如果你的状态徽章间有固定分隔符(比如逗号、竖线),记得把split(/\s+/)替换为对应分隔符的正则,例如状态格式为<span>已完成</span> | <span>待审核</span>,就用split(/\s*\|\s*/)来拆分。
内容的提问来源于stack exchange,提问作者Lino
相关产品推荐
相关产品推荐

