So verwenden Sie Material Tailwind, um ein Dropdown-Menü mit Mehrfachauswahl in React zu implementieren
P粉633733146
2023-09-06 09:29:26
<p>Ich versuche, ein Dropdown-Menü mit Mehrfachauswahl mithilfe der Komponenten „Tailwind Material Select“ und „Option“ zu erstellen. </p>
<p>Wenn ich jedoch versuche, ein Array als Wert an die Value-Eigenschaft von Select zu übergeben, erhalte ich die folgende Fehlermeldung: </p>
<p>Ungültige Eigenschaft <code>value</code> vom Typ <code>array</code>, bereitgestellt für <code>MaterialTailwind.Select</code>, erwarteter Typ ist <code>; string</code></p>
<p>Ich möchte React-Select nicht verwenden, da mein gesamtes Design Tailwind-Material verwendet. </p>
<p>Wenn jemand eine Idee hat, sagen Sie mir bitte, wie man mit Tailwind Material ein Dropdown-Menü mit mehreren Auswahlmöglichkeiten implementiert. </p>
<pre class="brush:php;toolbar:false;"><Auswählen
className='md:w-72'
size='lg'
label='Typ ändern'
mehrere
value={selectedOptions}>
{options.map((o) => {
return <Option value={o.value}>{o.value}</Option>;
})}
</Select></pre>
<p>Vielen Dank! </p>
看起来你正在使用的
MaterialTailwind.Select
组件希望value
属性作为单选的字符串。由于你想要使用Tailwind Material实现多选功能,你可能需要以不同的方式处理。一种方法是将选定的选项作为一个选定值数组来管理在组件的状态中。然后,在渲染选项时,你可以根据
selectedOptions
数组中的值来有条件地应用selected
属性到匹配的选项。以下是你可能实现这一点的示例:
在这个示例中,
handleOptionToggle
函数用于在状态数组中切换选定的选项。每个Option
组件的selected
属性是根据选项的值是否存在于selectedOptions
数组中来设置的。请注意,这种方法可能不完全符合
MaterialTailwind.Select
组件的确切行为和样式,但它提供了一种使用可用组件实现多选功能的方法。你可能需要调整样式和行为以适应你的项目设计和要求。