我正在尝试有一个名为 pg1 的主动选择参数,如下所示,带有复选框值
第二个 Active Choices Reactive 参数依赖于它,因此无论我在第一个参数中选择什么,都应该从此参数中的复选框值中删除它
所以现在的问题是,当我在 pg1 中选中一个框时,它将从 pg2 中删除,但如果我选择多个,那么 pg2 将显示全部。据我了解,列表似乎将始终创建为 ["eht1,eth2"] 作为单值列表。我该如何解决这个问题?我尝试将其拆分,但它不起作用,我应该将其转换为字符串然后拆分吗?
我能够通过以下更改使其正常工作。
def pg1 = (PG1_PORTS instanceof List) ? PG1_PORTS : PG1_PORTS.split(",").collect{it}
def allPorts = ["eth1","eth2","eth3","eth4"]
def availablePorts = allPorts - pg1
return availablePorts
如果您打开浏览器开发工具 (F12) 并在选择
PG1_PORTS
时检查控制台和发送到服务器的网络调用,它实际上会发送一个 String
,其中包含逗号分隔的值选择。
因此
PG1_PORTS.split(",").collect{it}
会将字符串拆分为数组并收集值。