【问题标题】:Angular 6: Disable dynamic checkbox based on conditionAngular 6:根据条件禁用动态复选框
【发布时间】:2019-09-15 00:53:37
【问题描述】:

我有一个带有重复复选框列表的动态表单。请看https://stackblitz.com/edit/angular-5jdnb5

如果在一个复选框列表中选中了一个复选框选项,则必须在其他列表中禁用相同的选项。例如,如果在第一个列表中选中选项 Life,则应在其他列表中禁用 Life 复选框。

我如何实现逻辑。请提出建议。

【问题讨论】:

    标签: angular checkbox angular-reactive-forms dynamic-forms


    【解决方案1】:

    我创建了一个简单的演示HERE,可以被大众理解。

    这里的主要概念是维护一个选项对象和相应的列表ID,用于维护要禁用哪个列表选项。

    无需在组件之间传递数据,只需对组件模板进行简单的对象操作即可启用/禁用复选框

    【讨论】:

    • 谢谢。这是我正在寻找的更多解决方案。现在我必须为 [disabled] 属性找到一种解决方法,因为它不适用于反应式表单和表单控制器。
    • @Dev05 是的,我知道。我仍然需要学习如何构建响应式表单。
    【解决方案2】:

    每次复选框的内容发生变化时,您只需将其报告到首页即可。这是与此报告过程的事件进行通信的一个很好的解决方案。以下是您想要的已更正且正在运行的应用程序。我稍后会编辑我的答案。

    https://stackblitz.com/edit/angular-bzqbeq

    【讨论】:

    • 这是一个很酷的解决方案,但我们可以这样做吗,我检查了第一个列表中的“{Life}”复选框,禁用其他复选框列表中的相同元素。当我取消选中“{Life}”复选框时,将启用其他“{Life}”。抱歉,由于声誉低,我无法投票。
    猜你喜欢
    • 2019-01-17
    • 2019-10-27
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多