Skip to content

FormFieldOptions

Набор перечислимых измерений. Может быть либо массивом, либо объектом. Рекомендуется использовать массив в качестве передаваемых значений (будет рассмотрено далее в этой статье).

  • Array

В случае, если был передан массив, то каждые элемент данного массива должен иметь следующий вид:

ts
interface OptionRow{
    label: string,
    value: any
}
interface OptionRow{
    label: string,
    value: any
}

Пример значений

ts
[
    {label: 'Green color', value: 'green'},
    {label: 'Red color', value: 'red'}
]
[
    {label: 'Green color', value: 'green'},
    {label: 'Red color', value: 'red'}
]

label Строка

Текстовая метка, которая будет отображаться в виде заголовка.

value Любое значение

Значение, которое будет устанавливаться ячейки.

Чем полезен массив

Вы не запутаетесь, где метка, а где значение. В случае с объектом существует вероятность того, что тебе придется постоянно заходите в документацию, чтобы уточнить расположение метки: справа или слева.

  • Object

Перейдем к объекту. Помните: слева — значение, справа — метка (заголовок). При передаче объект ожидается следующий тип:

ts
interface OptionObject {
	[value: string]: string
}
interface OptionObject {
	[value: string]: string
}

Пример

json
{
  "green": "Green color",
  "red": "Red color"
}
{
  "green": "Green color",
  "red": "Red color"
}

Однако в этом случае мы сталкиваемся со следующей проблемой: значение может быть только строкой. Даже указанное число как значение — будет автоматически преобразовано JavaScript в строку. Есть одна ситуация, когда удобно использовать или сохраните значение в объекте. Для этого мы предоставили функцию для преобразования объекта в массив.

Почему значение слева?

Основная причина тому - ключ в объект является уникальным. То есть нельзя создать объект с двумя одинаковыми ключами. Именно эта валидация побудила использовать ключ, как value, а само значение ключа, как label.

Released under the MIT License.