161

無効にするtsis_edit = trueで...

<input [disabled]="is_edit=='false' ? true : null" id="name" type="text" [(ngModel)]="model.name" formControlName="name" class="form-control" minlength="2">

trueまたはに基づいて入力を無効にしたいだけですfalse

私は次のことを試しました:

[disabled]="is_edit=='false' ? true : null"
[disabled]="is_edit=='true'"
[disabled]="is_edit"
4

15 に答える 15

35

あなたは単にこれを行うことができます

<input [disabled]="true" id="name" type="text">
于 2018-03-08T09:08:03.147 に答える
2

実際、リアクティブ フォームを使用する場合(「チェック後に変更」エラーを回避するため) に現在推奨されているアプローチは、リアクティブ フォーム ディレクティブで disabled 属性を使用しないことです。コンポーネント クラスでこのコントロールのプロパティを設定する必要がdisabledあります。disabled 属性は実際には DOM で設定されます。

<div>
      <form [formGroup]="form">
    <p>
        <input matInput type="text" placeholder="Name" formControlName="name"/>
    </p>
    </form>
</div>

およびコンポーネント コード:

form: FormGroup;
  public is_edit: boolean = true;
  constructor(
    private fb: FormBuilder
    ) {
    
  }

  ngOnInit() {
    this.form = this.fb.group({
      name: [{value: '', disabled: !this.is_edit}, [Validators.required, Validators.minLength(2)]],
    });
  }

これは、動作するコードを含むプランカーです: http://plnkr.co/edit/SQjxKBfvvUk2uAIb?preview

于 2020-10-10T08:39:07.713 に答える