Когда FormControl должен быть помечен как нетронутый? - PullRequest
0 голосов
/ 04 мая 2020

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

Это обсуждение было основано на Angular «нетронутый»

«нетронутый» означает, что пользователь не изменил значение, так как оно отображалось в этой форме.

Так дано пользователю имеет автозаполнение ввода, которое ищет аэропорты поблизости, когда пользователь выбирает параметр, тогда мы устанавливаем значение FormControl для выбранного параметра.

Насколько я понимаю, поскольку пользователь выбрал опцию, пользователь изменил FormControl.

Мое понимание моего коллеги заключается в том, что изменение является программным c, а FormControl обновляется на основе некоторого внутреннего процесса, поэтому значение является «доверенным» и помечается нетронутым.

Существует ли более конкретное определение нетронутого? Тот, который принимает во внимание внутренние процессы или программные c входы?

1 Ответ

1 голос
/ 04 мая 2020

Я думаю, что ответ лежит в документации свойства pristine AbstractControl:


  /**
   * A control is `pristine` if the user has not yet changed
   * the value in the UI.
   *
   * @returns True if the user has not yet changed the value in the UI; compare `dirty`.
   * Programmatic changes to a control's value do not mark it dirty.
   */

Здесь следует обратить внимание на две вещи:

  • пользователь еще не изменил значение в пользовательском интерфейсе
  • programmati c изменяет значение элемента управления, сохраняя первоначальное состояние
...