【问题标题】:Disable click on angular2-ui-switch under certain conditions在某些条件下禁用单击 angular2-ui-switch
【发布时间】:2018-01-09 02:08:26
【问题描述】:

我正在使用 angular 2 ui-switch:

https://www.npmjs.com/package/angular2-ui-switch

在某些情况下,我希望开关即使在我点击它时也保持禁用状态。我可以默认禁用开关,但是当我单击它时,它会更改 UI 上的状态。有什么办法可以防止它在点击开关时改变状态?

我的开关是这样的:

<ui-switch size="small" [checked]="getEnabled()" (click)="toggleSwitch($event)"></ui-switch>

getEnabled() 是返回 true/false 以决定是否应启用或禁用开关的方法。我试图弄清楚如何在某些条件下禁用点击,比如说当某个变量为真时,我禁用了开关上的点击,这样当你点击它时什么都不会发生。

【问题讨论】:

    标签: angular angular2-template


    【解决方案1】:

    如果您追求的是有条件地禁用点击事件功能的触发,那么您可以执行以下操作:

    <ui-switch size="small" [checked]="getEnabled()"
         (click)="someCondition ? toggleSwitch($event) : null"></ui-switch>
    

    另一方面,我不明白为什么以下内容不起作用:

    <ui-switch size="small" [checked]="getEnabled()" [disabled]="someCondition"
         (click)="toggleSwitch($event)"></ui-switch>
    

    【讨论】:

    • 设置 (click)="null" 不会禁用点击事件。每次我点击它时,它仍然会在 UI 上切换状态
    • @user1892775 尝试将该条件语句也用于检查的绑定:[chekced]="someCondition ? getEnabled() : null"
    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    相关资源
    最近更新 更多