javascript React MultiSelect组件显示“无法读取未定义(阅读”toLowerCase“)的属性”

jyztefdp  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(161)

我想使用Multiselect(来自multiselect-react-dropdown)组件从用户那里获取多个值。

<Multiselect
              options={
                allItemsData && allItemsData.map((item) => item.name)
              }
              onChange={(value) => console.log(value)}
            />

allItemsData是一个对象数组,其中每个对象由id、name、price等组成。代码只是在列表中创建了一个空的选项数量,该数量等于数组的大小。当我单击它,或尝试选择/取消选择时,它只显示以下错误:

Cannot read properties of undefined (reading 'toLowerCase')

我只是不知道什么是未定义的。allItems数组不是空的。我是React的初学者。是什么导致了这个错误?

j9per5c4

j9per5c41#

在multiselect react中,下拉选项应该是一个包含id和name的对象数组。检查npm或github中的库文档

{
    options: [{name: 'Option 1️⃣', id: 1},{name: 'Option 2️⃣', id: 2}]
};

你可以试试这个

options={allItemsData && allItemsData.map((item) => {name: item.name, id:item.id})

如果你没有id在你的项目尝试添加索引或名称本身

相关问题