Выпадающий список в раскрывающемся списке исчезает Angular 5

У меня есть форма в Angular 5, или когда я выбираю значение в раскрывающемся списке, отображается другое.

Проблема в том, что когда я выбираю (см. Ссылку) в первом раскрывающемся списке значение «два» и выбираю другое значение в раскрывающемся списке, которое только что появляется, оно исчезает.

https://stackblitz.com/edit/angular-a4va9u?embed=1&file=src/app/app.component.html

(И когда я выбираю значение «первый» в первом раскрывающемся списке и снова значение «два», то оно появляется снова)

Я провел небольшое исследование и нашел интересную ссылку, которая соответствует моей проблеме, но она связана с AngularJs, и когда я читаю ее о своей проблеме, она не работает (кроме того, мой раскрывающийся список отображается в соответствии со значением раскрывающегося списка список выше) Параметры поля выбора AngularJS исчезают при выборе элемента

Переход по ссылке на самом деле очень простой для понимания.

Если у вас есть решение моей проблемы, я его беру.

Заранее благодарю вас за ответы, желаю вам хорошего дня.

С уважением, Валентин

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
0
831
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Оба раскрывающихся списка имеют одинаковый formControlName.

что происходит, когда вы выбираете вариант «два» в первом раскрывающемся списке, *ngIf = "usForm.value.type == 'two' оценивается как true, и появляется второе раскрывающееся меню. Однако, когда вы выбираете что-либо во втором раскрывающемся списке, поскольку он имеет тот же formControlName, он меняет значение type на другое, заставляя *ngIf = "usForm.value.type == 'two' оценивать значение false, и поэтому второе раскрывающееся меню исчезает.

Для этого параметра выбора у вас должно быть другое имя formControlName. Возможно, как sub-type.

<p id = "champs" *ngIf = "usForm.value.type == 'two'">Appears
      <select formControlName = "sub_type" name = "consistance">
        <option style = "display:none">
        <option [value] = "appears.name" *ngFor = "let appear of appears">
          {{appear.name}}
        </option>
      </select>
    </p>

Большое спасибо за ответ, он должен решить мою проблему;) Прекрасный день

Valentin 17.12.2018 16:33

В раскрывающемся списке кода есть тот же formcontrolName.

      <select formControlName = "type"

когда вы выбираете опцию «два» в первом поле выбора, *ngIf = "usForm.value.type == 'two' становится истинным, и второе раскрывающееся меню отображается в поле зрения. Но когда вы выбираете что-либо еще во втором выборе, поскольку оно имеет то же имя formControlName, оно изменяет исходное значение type на новое выбранное значение. Это приводит к тому, что *ngIf = "usForm.value.type == 'two' становится ложным, и поэтому ваше второе раскрывающееся меню не исчезает.

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