javascript - 无法将 onClick / 事件侦听器添加到 MaterialUI 中的 ListItem
问题描述
我目前无法ListItem
在 MaterialUI 中添加一个简单的事件监听器,并且它没有被听到。任何想法为什么会这样?
重现步骤
使用最新的核心版本 (4.9.10),使用 .map() 方法构建一个简单的列表:
<List dense={true}>
{
types.map(({ icon, primary, secondary }) => (
<ListItem key={primary} onClick={() => console.log(primary)}>
<ListItemIcon>
{ icon }
</ListItemIcon>
<ListItemText
primary={primary}
secondary={secondary}
/>
</ListItem>
))
}
</List>
环境
- Material-UI v4.9.10
- 反应 v16.12.0
解决方案
这段代码为我运行:
import React from 'react';
import List from '@material-ui/core/List';
import ListItem from '@material-ui/core/ListItem';
import ListItemText from '@material-ui/core/ListItemText';
import ListItemIcon from '@material-ui/core/ListItemIcon';
export default function DemoList() {
const types=[{
icon: 'icon',
primary:'primaryText',
secondary:'secondaryText'
}]
return (
<List dense={true}>
{
types.map(({ icon, primary, secondary }) => (
<ListItem key={primary} onClick={() => {console.log(primary)}}>
<ListItemIcon>
{ icon }
</ListItemIcon>
<ListItemText
primary={primary}
secondary={secondary}
/>
</ListItem>
))
}
</List>
);
}
推荐阅读
- jquery - Typescript 中的 jQuery:“JQueryStatic”类型上不存在属性“attr”
'.ts - javascript - 带有 if 条件的数组 .filter 和 .map OR .map
- sql-server - 在 Linux 上升级后无法连接到 MSQL 服务器
- mysql - 使用 NodeJs 和 Handlebars 水平排列表格的标签
- excel - 格式化工作表 5 及更高版本,然后将该信息复制并粘贴到具有源宽度和格式的“Sheet3”中
- javascript - 修复损坏的html
- shopify - 产品价格 % 折扣不随所选变体而变化
- java - Java AES 加密问题
- python - Opencv 相机校准用于世界查看端口映射
- r - 如何将R脚本转换为函数