reactjs - 如何在reactjs中的react-multi-select-component中设置动态选择项
问题描述
import React, { useState } from "react";
import MultiSelect from "react-multi-select-component";
const Example = () => {
const options = [
{ label: "Grapes", value: "grapes" },
{ label: "Mango", value: "mango" },
{ label: "Strawberry", value: "strawberry", disabled: true },
{ label: "Watermelon", value: "watermelon" },
{ label: "Pear", value: "pear" },
];
const [selected, setSelected] = useState([]);
return (
<div>
<h1>Select Fruits</h1>
<pre>{JSON.stringify(selected)}</pre>
<MultiSelect
options={options}
value={selected}
onChange={setSelected}
labelledBy="Select"
/>
</div>
);
};
export default Example;
这段代码工作正常。但我不知道如何动态检查项目。如果我愿意,我应该如何传递 2 和 3 选项的检查值。预先感谢
解决方案
如果您希望列表使用预先选择的项目进行初始化,则需要正确传递 selected 道具。当前,您传递一个空数组。尝试这个:
import React, { useState } from "react";
import MultiSelect from "react-multi-select-component";
const App = () => {
const options = [
{ label: "Grapes", value: "grapes" },
{ label: "Mango", value: "mango" },
{ label: "Strawberry", value: "strawberry", disabled: true},
{ label: "Watermelon", value: "watermelon" },
{ label: "Pear", value: "pear" },
];
// preset some selected values for first render
const [selected, setSelected] = useState(options.slice(0,2));
return (
<div>
<h1>Select Fruits</h1>
<pre>{JSON.stringify(selected)}</pre>
<MultiSelect
options={options}
value={selected}
onChange={setSelected}
labelledBy="Select"
/>
</div>
);
};
export default App;
推荐阅读
- typescript - 来自枚举的 Typescript 类型推断抛出“类型实例化过深并且可能无限”。
- xtermjs - 如何在 xtermjs 上使用触摸事件(iPad)进行选择
- c# - 使用 string.Format 进行本地化
- python - 如何为 QTreeWidgetItem 添加彩色动画?
- javascript - 从标签python的onclick属性获取URL
- php - 如何使用for循环在mpdf PHP中打印数组中的值
- mysql - 在mysql中查找相互关注者列表
- html - 无法获取模型的值
- machine-learning - 远程监督:基于规则的标记方法?
- spring-boot - 出现 kafka 错误:MetadataRequest 版本早于 4 不支持 allowAutoTopicCreation 字段