FormFieldOptions
Набор перечислимых измерений. Может быть либо массивом, либо объектом. Рекомендуется использовать массив в качестве передаваемых значений (будет рассмотрено далее в этой статье).
- Array
В случае, если был передан массив, то каждые элемент данного массива должен иметь следующий вид:
interface OptionRow{
label: string,
value: any
}
interface OptionRow{
label: string,
value: any
}
Пример значений
[
{label: 'Green color', value: 'green'},
{label: 'Red color', value: 'red'}
]
[
{label: 'Green color', value: 'green'},
{label: 'Red color', value: 'red'}
]
label Строка
Текстовая метка, которая будет отображаться в виде заголовка.
value Любое значение
Значение, которое будет устанавливаться ячейки.
Чем полезен массив
Вы не запутаетесь, где метка, а где значение. В случае с объектом существует вероятность того, что тебе придется постоянно заходите в документацию, чтобы уточнить расположение метки: справа или слева.
- Object
Перейдем к объекту. Помните: слева — значение, справа — метка (заголовок). При передаче объект ожидается следующий тип:
interface OptionObject {
[value: string]: string
}
interface OptionObject {
[value: string]: string
}
Пример
{
"green": "Green color",
"red": "Red color"
}
{
"green": "Green color",
"red": "Red color"
}
Однако в этом случае мы сталкиваемся со следующей проблемой: значение может быть только строкой. Даже указанное число как значение — будет автоматически преобразовано JavaScript в строку. Есть одна ситуация, когда удобно использовать или сохраните значение в объекте. Для этого мы предоставили функцию для преобразования объекта в массив.
Почему значение слева?
Основная причина тому - ключ в объект является уникальным. То есть нельзя создать объект с двумя одинаковыми ключами. Именно эта валидация побудила использовать ключ, как value
, а само значение ключа, как label
.