看起來(lái)你正在使用的MaterialTailwind.Select
元件希望value
屬性作為單選的字串。由於你想要使用Tailwind Material實(shí)現(xiàn)多重選擇功能,你可能需要以不同的方式處理。
一種方法是將選定的選項(xiàng)作為一個(gè)選定值數(shù)組來(lái)管理在元件的狀態(tài)中。然後,在渲染選項(xiàng)時(shí),你可以根據(jù)selectedOptions
陣列中的值來(lái)有條件地套用selected
屬性到符合的選項(xiàng)。
以下是你可能實(shí)現(xiàn)這一點(diǎn)的範(fàn)例:
import React, { useState } from 'react'; import { Select, Option } from '@material-tailwind/react'; const MyMultiSelect = () => { const [selectedOptions, setSelectedOptions] = useState([]); const options = [ { value: '選項(xiàng)1' }, { value: '選項(xiàng)2' }, { value: '選項(xiàng)3' }, // ... 其他選項(xiàng) ]; const handleOptionToggle = (optionValue) => { if (selectedOptions.includes(optionValue)) { setSelectedOptions(selectedOptions.filter(val => val !== optionValue)); } else { setSelectedOptions([...selectedOptions, optionValue]); } }; return ( <Select className='md:w-72' size='lg' label='更改類(lèi)型' multiple > {options.map((o) => ( <Option key={o.value} value={o.value} selected={selectedOptions.includes(o.value)} onClick={() => handleOptionToggle(o.value)} > {o.value} </Option> ))} </Select> ); }; export default MyMultiSelect;
在這個(gè)範(fàn)例中,handleOptionToggle
函數(shù)用於在狀態(tài)陣列中切換選定的選項(xiàng)。每個(gè)Option
元件的selected
屬性是根據(jù)選項(xiàng)的值是否存在於selectedOptions
陣列中來(lái)設(shè)定的。
請(qǐng)注意,這種方法可能不完全符合MaterialTailwind.Select
元件的確切行為和樣式,但它提供了使用可用元件實(shí)作多重選擇功能的方法。你可能需要調(diào)整樣式和行為以適應(yīng)你的專(zhuān)案設(shè)計(jì)和要求。