Отключение поля мат-формы в форме, управляемой шаблоном

#angular

Вопрос:

Я разработал форму, управляемую шаблоном , в которой я использовал поля ввода, такие как mat-input , mat-select , mat-datepicker и mat-select .

Каждый из них встроен в а mat-field-form . Я хочу отключить их в зависимости от условия. Я думаю , что если я отключу mat-field-form , все они будут отключены, или, как каждый из входов atrr.disable , которые нужно отключить?

Можно ли это сделать? С другой стороны, раньше я #actionsForm="ngForm" «требовал» их, но только mat-input работы и другие входы не слушают «требуется».

Любые зацепки, пожалуйста.

Комментарии:

1. не могли бы вы предоставить небольшую демонстрацию в stackblitz.com или какой-нибудь код здесь, который поможет

Ответ №1:

В .html использовании [disabled] атрибут, подобный этому:

 <mat-form-field>
    <input matInput [disabled]="isDisabled"></input>    
    <textarea matInput [disabled]="isDisabled"></textarea> 
</mat-form-field>
 

В .ts isDisabled переменной set true или false в соответствии с условием:

 //do something like variable declaration and condition checking

this.isDisabled = true;
 

Комментарии:

1. Спасибо, я применю вашу рекомендацию как можно скорее и сообщу вам результат.

2. извините, я подал заявление. [отключено]=»cond» и получено сообщение об ошибке: поле формы мата не имеет [отключено] ввода!

3. Это моя вина! да, mat-form-field не [disabled] имеет атрибута. Таким образом, вы должны использовать [disabled] атрибут с, например, матИнпут внутри mat-form-field . Ответ редактируется вообще, не уверен, соответствует ли это вашим требованиям. Спасибо

4. Спасибо, это работает для выбора коврика, области текста и выбора даты? Как насчет выбора мата, текстовой области и выбора даты?

5. Это вопрос для меня, элементы textarea, datepicker и select, которые могут быть ключевыми элементами для формы, не работают с attr.требуется! Вы можете ответить на него?