Как лучше всего адаптировать значения Model / FormControl, чтобы они по-разному отображались в элементе управления UI? - PullRequest
0 голосов
/ 30 апреля 2018

Простой пример:

У меня есть флаг в моей модели, и я хотел бы показать его как флажок, но инвертированный.

Модель:

{isSupported: true}

Управление дисплеем:

<input type="checkbox" formControlName="isSupported">Is NOT supported</input>

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

Известные, но неудовлетворительные решения:

  1. Адаптируйте значение до / при инициализации управления и перед отправкой формы. [Это добавляет сложности в тех местах, где оно не принадлежит.]

  2. Адаптируйте визуализацию или модель для соответствия другим. [Часто не желательно.]

  3. Написать пользовательский ControlValueAccessor. [Это часто не работает, например если используется библиотека / каркас / элемент управления, например, материал уже использует пользовательский ControlValueAccessor.]

Мое текущее «решение» - обернуть элемент управления пользовательского интерфейса и использовать там прокси ControlValueAccessor, который включает в себя необходимое преобразование. Есть ли лучшее решение для этого?

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