小编Sir*_*i0S的帖子

Angular 2 - 自定义表单控件 - 禁用

我使用ControlValueAccessor创建了一个自定义控件,该控件由一个input[type=text]和一个datepicker组成.

当我在模板驱动的表单中使用它时一切正常.但是当我使用模型驱动的方法(反应形式)时,disable()表单控件上的方法似乎没有任何效果.

是否可以以编程方式禁用/启用我的自定义控件,就像我在模型驱动的表单中使用其他每个表单控件一样

编辑

我要指出,我采用了棱角分明的v2.1.0,我的方法是几乎一样的这个,因为我一直在使用它作为指南.

编辑

这是我的自定义控件:

@Component({
  selector: 'extended-datepicker',
  templateUrl: './extended-datepicker.component.html',
  styleUrls: ['./extended-datepicker.component.scss'],
  providers: [
    {
      provide: NG_VALUE_ACCESSOR,
      useExisting: forwardRef(() => ExtendedDatepickerComponent),
      multi: true
    }
  ]
})
export class ExtendedDatepickerComponent implements OnInit, ControlValueAccessor {
  isDatepickerActive: boolean = false;
  _selectedDate: Date;
  selectedDateString: string = "";
  @Input() disabled: boolean;
  @Input() mask: any;
  @Input() required: boolean;

  @ViewChild('textInput') textInput: ElementRef;

  get selectedDate(): Date {
    return this._selectedDate;
  }

  set selectedDate(value: Date) {
    this.selectedDateString = moment(value).format(STANDARD_DATE_FORMAT);
    this._selectedDate = value; …
Run Code Online (Sandbox Code Playgroud)

javascript forms angular

19
推荐指数
1
解决办法
9295
查看次数

标签 统计

angular ×1

forms ×1

javascript ×1