Простой пример:
У меня есть флаг в моей модели, и я хотел бы показать его как флажок, но инвертированный.
Модель:
{isSupported: true}
Управление дисплеем:
<input type="checkbox" formControlName="isSupported">Is NOT supported</input>
Так что в этом случае я хотел бы показать инвертированное значение bool во входном элементе управления пользовательского интерфейса.
Известные, но неудовлетворительные решения:
Адаптируйте значение до / при инициализации управления и перед отправкой формы. [Это добавляет сложности в тех местах, где оно не принадлежит.]
Адаптируйте визуализацию или модель для соответствия другим. [Часто не желательно.]
Написать пользовательский ControlValueAccessor. [Это часто не работает, например если используется библиотека / каркас / элемент управления, например, материал уже использует пользовательский ControlValueAccessor.]
Мое текущее «решение» - обернуть элемент управления пользовательского интерфейса и использовать там прокси ControlValueAccessor, который включает в себя необходимое преобразование. Есть ли лучшее решение для этого?