#reactjs
#reactjs
Вопрос:
У меня проблема,
У меня есть компонент управления выбором, в котором есть опции, внутри опций я добавляю массив опций путем сопоставления массива staticPosts
.
Мой код:
<SelectControl
label={__("Choose Static Block Page to show above header", "pirezmeta")}
onChange={ (value) => props.onChangeStaticContent(value) }
options={props.staticPosts amp;amp; props.staticPosts.map(post =>
({value: post.id, label: post.title}))}
value={props.staticContent}
/>
Все в порядке, за исключением того, что я хочу сначала добавить пустой параметр, что-то вроде: {value: 0, label: "No value"}
Как я могу это сделать, вы можете мне помочь, пожалуйста?
Ответ №1:
В этой опоре многое происходит. Я бы объявил массив выше отдельно — включил первый {value: 0, label: "No value"}
элемент, а затем добавил другие сопоставленные элементы:
const options = [
{value: 0, label: "No value"},
...props.staticPosts?.map(
post => ({value: post.id, label: post.title})
)
];
// ...
<SelectControl
label={__("Choose Static Block Page to show above header", "pirezmeta")}
onChange={ (value) => props.onChangeStaticContent(value) }
options={props.staticPosts amp;amp; options}
value={props.staticContent}
/>
Вы также можете перевести объединенный массив в состояние при монтировании или при изменении реквизита.