首页 > 解决方案 > 如何以角度设置组件的属性

问题描述

我正在使用 Angular 中的一些自定义组件,想知道是否有办法实现以下目标。我有一个表单,我想以反应形式动态显示或隐藏不同的表单元素。在正常输入上这不是问题,但我有几个自定义控件的实例,我在这样的模板中设置了这些实例。

<app-dropdown placeholder="Test"
[disabled]="showEditNewButton"
guid='820E04E0-8084-4D9C-A268-D8C0D21E74F6'
formControlName="test">
</app-dropdown> 

所以现在的问题是我如何通过父组件中的代码设置占位符字符串或 guid?还有什么是根据反应表单上另一个字段中的值从 Dom 隐藏或删除某些自定义控件的最佳方法。请记住,同一组件可能有多个实例,只是具有不同的 formControlName 和 guid。

我在我的组件中已经指定了@Input(),所以我可以将数据从模板发送到组件。

  @Input() guid: string;
  @Input() options: IServerDropdownOption[];
  @Input() placeholder = '--Select--';
  @Input() isRequired = false;

  private _disabled = false;
  @Input() set disabled(isDisabled: boolean) {
      this._disabled = isDisabled;
  };
  get disabled() {
      return this._disabled;
  }

  options$: Observable<Array<ServerDropdownOption>>;
  value;
  selectField;
  form: FormGroup;
  onChange;
  onTouched;
  validateFn: Function;

问题是如何像我想通过代码设置占位符一样从父组件向子组件发送数据。

标签: angular

解决方案


您可以使用 ngModel 并使用 JSON 对象输入组合


推荐阅读