亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

React中使用Material Tailwind實(shí)作多選下拉選單的方法
P粉633733146
P粉633733146 2023-09-06 09:29:26
0
1
930
<p>我正在嘗試使用Tailwind Material Select和Option元件建立多選下拉式選單。 </p> <p>但是,每當(dāng)我嘗試將陣列作為值傳遞給Select的value屬性時(shí),會(huì)出現(xiàn)以下錯(cuò)誤:</p> <p>無(wú)效的屬性<code>value</code>,類(lèi)型為<code>array</code>,提供給<code>MaterialTailwind.Select</code>,預(yù)期的類(lèi)型是<MaterialTailwind.Select</code> ;string</code></p> <p>我不想使用react-select,因?yàn)槲艺w設(shè)計(jì)都是使用Tailwind Material的。 </p> <p>如果有人有想法,請(qǐng)告訴我如何用Tailwind Material實(shí)作多選下拉選單。 </p> <pre class="brush:php;toolbar:false;"><Select className='md:w-72' size='lg' label='Change Type' multiple value={selectedOptions}> {options.map((o) => { return <Option value={o.value}>{o.value}</Option>; })} </Select></pre> <p>謝謝! </p>
P粉633733146
P粉633733146

全部回覆(1)
P粉615829742

看起來(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ì)和要求。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板