Javascript 更改ng选项中的禁用标志会导致取消选中select
问题的例子: 加载时,Javascript 更改ng选项中的禁用标志会导致取消选中select,javascript,angularjs,Javascript,Angularjs,问题的例子: 加载时,h被选中,即使其已禁用。这是好的,也是意料之中的 接下来,如果您选择了一个非禁用的值,则假设d。这很有效 但一旦单击按钮翻转禁用布尔值,模型将设置为null,选择将丢失所选内容 您甚至可以翻转布尔值,使最初选定的值不被禁用,并且该值保持不变,但如果再次翻转该值,则该值将丢失 这是预期的吗?这似乎不应该发生在我身上,因为第一个用例允许选择它。“但一旦单击按钮翻转禁用布尔值,模型将设置为null,选择将丢失所选内容。” 所选变量的计算结果为null,因为在过滤器中有禁用whe
h
被选中,即使其已禁用。这是好的,也是意料之中的
接下来,如果您选择了一个非禁用的值,则假设d
。这很有效
但一旦单击按钮翻转禁用
布尔值,模型将设置为null
,选择将丢失所选内容
您甚至可以翻转布尔值,使最初选定的值不被禁用,并且该值保持不变,但如果再次翻转该值,则该值将丢失
这是预期的吗?这似乎不应该发生在我身上,因为第一个用例允许选择它。“但一旦单击按钮翻转禁用布尔值,模型将设置为null,选择将丢失所选内容。”
所选变量的计算结果为null
,因为在过滤器中有禁用when选项。禁用。因此,将disable
属性切换为true
后,没有选择的值,其计算结果为null
。但是您可以通过选择另一个选项来解决这个问题,例如,通过单击或编程(我认为这是更好的方法)
在禁用另一个选项后,我添加了自动选择“未禁用”选项,下面是正在工作的plunker:
或者,如果您只想在未选择任何内容的情况下显示类似“选择一个选项”的内容-下面是另一个plunker:
我在Angular github问题跟踪器中发布了相同的问题,发现这种行为是出于设计。对我来说,这已经足够好了,我们会想出另一种方法来做到这一点