使用@Input禁用/启用按钮

时间:2019-04-14 07:41:51

标签: angular

我想要的是更改按钮的启用/禁用状态,这是我的自定义组件模板的一部分。这应该由@Input完成,用户应该可以做到这一点:

<custom-component>
      [disabled]="true"
      [x]="false"
      [y]="false"
</custom-component>

我放了 @Input('disabled') public _disabled: boolean; 在我的自定义组件中 而且我把 我的自定义组件模板中的按钮上的[disabled]=_disabled。 问题是上述方法无效,并且更改[disabled]属性也无法启用/禁用按钮。

https://stackblitz.com/edit/angular-ndyl14?embed=1&file=src/index.html

2 个答案:

答案 0 :(得分:1)

我认为以下代码也可能有帮助,但仍然无法正常工作

constructor(public elementRef: ElementRef) {
    var native = this.elementRef.nativeElement;
    var myattr = native.getAttribute("myattr");
}

答案 1 :(得分:0)

您可以做的是将[disabled]的状态作为Input()传递给组件,并检查按钮中的该属性以进行更改。 如果要更改按钮的禁用状态,则只需要使用[disable]属性,而不必使用[attr.disable]

您可以在此处找到示例:

https://stackblitz.com/edit/angular-stack-55673048?file=src%2Fapp%2Fhello.component.ts