lenvoh
1
* 描述问题
筛选区块-表单里下拉菜单(单选)字段的允许多选按钮和运算符功能冲突
* 运行环境
- 操作系统:Windows 11
-浏览器及版本:Edge 132
- Docker 镜像版本:nocobase/nocobase:latest
如何重现
1 创建 筛选区块-表单
2 添加一个字段,该字段在数据表里是下拉菜单(单选)
问题1:查看这个下拉框的属性,里面是默认选择了允许多选,运算符是等于,但实际上这个下拉框还是单选模式,见图1
3 将允许多选取消再选中,下拉框可以多选
问题2:此时只要下拉框里有内容,不管是单个还是多个选项,点击筛选按钮都会报错:
Invalid value { [Symbol(eq)]: ‘****’ }
4 将运算符由默认的 等于 改为 包含任何一个,下拉框可以正常选择和筛选
问题3:此时允许多选字段消失了,即使将运算符改回等于,也不会再显示,从行为看是选中了允许多选,因为此时下拉框里有任何内容,点击筛选按钮也会报错,和问题2类似
见图2
预期行为
创建下拉菜单(单选)字段后,允许多选按钮默认应该是未选中状态,或者不显示此按钮,通过运算符来控制是否允许多选
截图
图1:默认情况,此时虽然允许多选是勾选状态,但下拉框实际上只能单选,筛选功能正常
如果先取消再勾选允许多选按钮,此时下拉框可以多选,但筛选报错

图2:将运算符改为包含任何一个后,允许多选按钮消失,此时下拉框可以正常多选,筛选功能正常
再将运算符改回等于后,允许多选按钮也未出现,此时下拉框是多选状态,但筛选报错

日志
已经修复,选项字段去掉允许多选配置项,运算符包含就可以实现多选功能,请使用最新代码检查问题是否解决