Angular 6 - невозможно отключить текстовое поле ввода

Я хотел бы отключить текстовое поле, когда установлен флажок. Проблема в том, что я даже не могу отключить его без каких-либо условий.

Это мой HTML:

<label for = "checkbox-inline">
    <input type = "checkbox" class = "checkbox other" name = "others" value = "15"
        #goodsOthersChk (change) = "onCheckArray($event, Form.value.goods)">
    <p class = "otherText"> Others:</p>
    <input id = "goodsOthers" name = "goodsOthers"
        formControlName = "goodsOthers" type = "text" value = ""
        class = "form-control otherInput" size = "30%" [disabled] = "isDisabled">
</label>

мой компонент .ts:

export class GoodsComponent implements OnInit {
  isDisabled = true;
}

Я не вижу, чего мне не хватает. Когда я проверяю текстовое поле, у него есть свойство ng-reflect-is-disabled, для которого установлено значение true, но оно не отражается на моей странице.

stackblitz.com/edit/angular-uazb2n все работает..... можете воспроизвести проблему?
Pranav C Balan 09.04.2019 06:39

@PranavCBalan я воспроизвел, и он работает, как и ожидалось, но не на моей странице.

mhfour 09.04.2019 06:55

проблема связана с чем-то другим в вашем коде.... поделитесь полным кодом

Pranav C Balan 09.04.2019 06:57

Я вижу директиву formControlName на нем. Свойство [disabled] не будет работать с реактивными формами. Вместо этого используйте свойство disabled в FormControl в TypeScript.

cristian.t 09.04.2019 07:14

@cristian.t правильно. Вы не должны использовать свойство [disabled] для отключения элемента управления формы с помощью реактивных форм. В настоящее время он выдает предупреждение в консоли, позже это будет считаться устаревшим и выдавать ошибки.

Sachin Gupta 09.04.2019 07:22

Я имею в виду, я буквально угадываю. Трудно сказать, что происходит, мы видим только небольшой фрагмент реального кода.

cristian.t 09.04.2019 07:34
stackoverflow.com/questions/47937639/…
Eliseo 09.04.2019 08:29
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
7
4 687
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, это потому, что вы используете реактивные формы. Теоретически вы можете использовать атрибут disabled, но способ работы с реактивной формой будет заключаться в установке свойства disabled при инициализации FormGroup.

yourFrom: FormGroup = this.formBuilder.group({
  goodsOthers: [{ value: null, disabled: true }],
  .
  .
  // other Form controls
})

Другие свойства FormControl

привет это работает. Спасибо! Кстати, я хотел бы переключаться между отключением и включением текстового поля с помощью флажка. как я могу это сделать, если у меня есть более одного текстового поля, к которому мне нужно применить его? я могу сделать это для одного, но не совсем уверен, как сделать это для более чем одного

mhfour 09.04.2019 09:34

Пожалуйста! Понимаю. Каждое текстовое поле «подключено» к своему отдельному флажку? Или вы используете этот единственный флажок для переключения отключенного атрибута всех текстовых полей?

wentjun 09.04.2019 09:58

@mhfour Я свяжусь с вами вскоре после окончания рабочего дня.

wentjun 09.04.2019 11:11

Привет, я только что вспомнил об этом и мне было интересно, есть ли способ сделать это?

mhfour 23.04.2019 08:18

@mhfour Извините за поздний ответ. Думали ли вы сгруппировать ввод и соответствующий ему флажок в FormGroup?

wentjun 23.04.2019 10:01

Вы имеете в виду, что каждый ввод и его флажок должны быть сгруппированы в свою собственную группу форм? на данный момент все находится в одной FormGroup

mhfour 23.04.2019 11:01

@mhfour Вскоре я опубликую короткий фрагмент своего ответа. Просто чтобы проверить, сколько из этих пар ввода/флажка есть в вашей форме?

wentjun 23.04.2019 11:12

у меня есть несколько форм, и они варьируются от формы к форме. не менее 5 на форму

mhfour 23.04.2019 11:17

здравствуйте, вы можете опубликовать фрагмент?

mhfour 24.04.2019 04:11

Другие вопросы по теме