如何使用启动禁用但必须启动启用的组件?
How to use a component which starts disable but has to start enable?
我的应用程序中有一个自动完成组件开始禁用。这是一个在我的应用程序中很多地方调用的组件。
组件自动完成
ngOnInit() {
this.internalForm = this.formBuilder.group({
value: [null]
});
this.internalForm.get('value').disable(); }
这次需要启动组件使能
我已经试过了:
另一个组件
ngOnInit() {
this.carregarDropDowns();
this.form.get('cboControl').enable();
}
但是不行。
您可以在第一个组件中使用 @Input 属性 并根据输入选项值禁用自动完成功能。例如
@Component({
selector: 'auto-complete',
templateUrl: 'auto-complete.component.html'
})
export class AutoCompleteComponent {
@Input() enabled: boolean;
ngOnInit() {
this.internalForm = this.formBuilder.group({
value: [null]
});
if (!this.enabled) {
this.internalForm.get('value').disable();
}
}
然后您可以在需要启用它时将启用标志传递给它。
<auto-complete enabled="true"></auto-complete>
编辑: 更改代码示例以避免按照评论中的要求更改旧代码
我假设我正确理解你的问题,但你可以简单地使用 @Input
来解决你的问题:
autocomplete.component.ts
export class AutoCompleteComponent {
@Input() disable = true;
...
ngOnInit() {
this.internalForm = this.formBuilder.group({
value: [null]
});
if (this.disable) {
this.internalForm.get('value').disable();
}
}
}
在你的其他组件中只需:
<auto-complete-component [disable]="false" ...></auto-complete-component>
我的应用程序中有一个自动完成组件开始禁用。这是一个在我的应用程序中很多地方调用的组件。
组件自动完成
ngOnInit() {
this.internalForm = this.formBuilder.group({
value: [null]
});
this.internalForm.get('value').disable(); }
这次需要启动组件使能
我已经试过了:
另一个组件
ngOnInit() {
this.carregarDropDowns();
this.form.get('cboControl').enable();
}
但是不行。
您可以在第一个组件中使用 @Input 属性 并根据输入选项值禁用自动完成功能。例如
@Component({
selector: 'auto-complete',
templateUrl: 'auto-complete.component.html'
})
export class AutoCompleteComponent {
@Input() enabled: boolean;
ngOnInit() {
this.internalForm = this.formBuilder.group({
value: [null]
});
if (!this.enabled) {
this.internalForm.get('value').disable();
}
}
然后您可以在需要启用它时将启用标志传递给它。
<auto-complete enabled="true"></auto-complete>
编辑: 更改代码示例以避免按照评论中的要求更改旧代码
我假设我正确理解你的问题,但你可以简单地使用 @Input
来解决你的问题:
autocomplete.component.ts
export class AutoCompleteComponent {
@Input() disable = true;
...
ngOnInit() {
this.internalForm = this.formBuilder.group({
value: [null]
});
if (this.disable) {
this.internalForm.get('value').disable();
}
}
}
在你的其他组件中只需:
<auto-complete-component [disable]="false" ...></auto-complete-component>