问题示例:
https://embed.plnkr.co/5MSJB9E7AMNDF5oZQJRR/
加载后,即使已禁用h
,也会选中d
。这很好,期待。
接下来,如果您选择了非禁用值,请说disable
。这样可行。
但是一旦你点击按钮翻转null
布尔值,模型就会被设置为writeStream.foreach
而选择会丢失所选的内容。
你甚至可以将最初选择的值的布尔值翻转为不被禁用,值保持不变,但是再次翻转它就会丢失。
这是预期的吗?这似乎不应该发生在我身上,因为第一个用例允许它被选中。
答案 0 :(得分:0)
"但是一旦你点击按钮来翻转禁用布尔值,模型就会被设置为null,并且选择会丢失所选的内容。"
您的JFrame
变量评估为selected
,因为在过滤条件中您有null
。因此,在将disable when option.disable
属性切换为disable
后,没有选定的值,并且评估为true
。但是你可以通过选择另一个选项,例如点击,或者以编程方式(我认为这将是更好的方式)来解决这个问题。
我在禁用另一个选项后添加了自动选择非禁用选项,这里是工作的plunker:
https://plnkr.co/edit/hr7aM1WXKlgRaEm8qwit?p=preview
或者,如果您只想显示"选择一个选项"当没有选择任何东西时 - 这是另一个选择:
答案 1 :(得分:0)
我在Angular github问题跟踪器中发布了相同的问题,发现这种行为是设计的。对我来说,这已经足够好了,我们会想出另一种方法来做到这一点。