1 回答

TA貢獻1842條經(jīng)驗 獲得超13個贊
如果沒有嵌套選項,則需要刪除該options屬性。
更改{ id: 5, label: "3", options: [] }=>{ id: 5, label: "3" }
const transformedDataWithSubItems = [
{ id: 1, label: "1", options: [{ label: 'sub', value: 'sub' }, { label: 'sub', value: 'sub' }] },
{ id: 3, label: "2", options: [{ label: 'sub', value: 'sub' }, { label: 'sub', value: 'sub' }] },
{ id: 5, label: "3", options: [] }
].map(category => {
if (category.options.length === 0) return {id: category.id, label: category.label};
return category;
});
編輯: 如果你想讓它顯示為類別,那么你必須在選項中至少有一個元素。因此,在選項中添加一個元素并將其禁用。要做到這一點
添加{ label: 'No sub category', disabled: true }
const transformedDataWithSubItems = [
{
id: 1,
label: '1',
options: [
{ label: 'sub', value: 'sub' },
{ label: 'sub', value: 'sub' },
],
},
{
id: 3,
label: '2',
options: [
{ label: 'sub', value: 'sub' },
{ label: 'sub', value: 'sub' },
],
},
{ id: 5, label: '3', options: [] },
].map((category) => {
if (category.options.length === 0) {
return { ...category, options: [{ label: 'No sub category', disabled: true }]};
}
return category;
});
添加isOptionDisabled道具以選擇組件。
<Select
options={transformedDataWithSubItems}
value={selectedItem}
onChange={handleChange}
isClearable={isClearable}
placeholder={placeholder}
isOptionDisabled={(option) => option.disabled}
/>
見例子
添加回答
舉報