我正在尝试创建一个自定义指令来禁用表单字段,但它不起作用。
import { Directive, Input, ElementRef, Renderer2 } from '@angular/core';
@Directive({
selector: '[appCustomDisable]',
})
export class CustomDisableDirective {
@Input() appCustomDisable: boolean;
constructor(private el: ElementRef, private renderer: Renderer2) {}
ngOnChanges() {
if (this.appCustomDisable) {
this.renderer.setProperty(this.el.nativeElement, 'disabled',
this.appCustomDisable);
} else {
this.renderer.setProperty(this.el.nativeElement, 'disabled',
this.appCustomDisable);
}
}
}
我还尝试使用来自“@angular/core”的渲染进行上述操作
this.renderer.setElementAttribute(this.el.nativeElement, 'disabled',
'true');
在 app.component.html 我正在使用 [appCustomDisable]="myVar"
Stackblitz 链接 https://stackblitz.com/edit/angular-lxb661