Какой самый простой подход к обновлению ввода на основе условия на компоненте в Angular - PullRequest
0 голосов
/ 13 февраля 2019

У меня следующая проблема: у меня есть массив объектов.Я перебираю этот массив в шаблоне для генерации текстовых входных данных

значение этих входных данных задается с использованием значения объекта

|2|   value="{{ object.quantity }}" //suppose this an text input
|3|
|4|

Массив объектов, через которые я перебираюсь, обновляется, когда естьизменить, потому что я использую BehaviorSubject.В качестве побочного эффекта текст ввода также изменяется динамически.

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

Пример.

| 90 |изменить на | -99 |входные изменения в | 1 |потому что в моем сервисе есть некоторая логика для предотвращения недопустимых значений и использования 1 по умолчанию

Но теперь, если:

| 90 |изменить на | -99 |входной сигнал изменится на | 1 |, если я снова изменю его на | -99 |входы остаются | -99 |потому что нет изменений на службе.«1 используется, а я изменяю его на 1», поэтому элемент управления не обновляется, даже если он привязан к общему сервису.

Я попытался обобщить проблему здесь.Чтобы исправить эту проблему, я думаю, чтобы получить ввод и изменить его «вручную».Есть ли простой способ сделать это?Страница довольно сложная, но работает нормально.Я не могу поверить, что только из-за этой ошибки мне придется сформулировать более сложное решение, такое как FormArray или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...