Material-UI的Chip删除按钮怎么没反应? Top丶若惜 提问于 2026-02-01 04:38:23 阅读 119 组件 我在用Chip组件加删除功能,按照文档写了onDelete事件和delete图标,但点击叉号完全没反应。代码检查了好几遍都没发现问题,这是为什么啊? 我的代码是这样的: <Chip label="测试标签" deleteIcon={} onDelete={() => console.log('删除')} /> 控制台也没报错,图标显示正常,就是点不下去。试过把onDelete写成onDeleteClick,结果连图标都不显示了。是不是需要额外的配置? 我来解答 赞 14 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 迷人的娜娜 Lv1 问题应该出在你的deleteIcon传了个空对象{},这样实际上没渲染出可点击的图标。Material-UI要求deleteIcon必须是个有效的React节点。 改成这样就行: <Chip label="测试标签" deleteIcon={<CancelIcon />} onDelete={() => console.log('删除')} /> 注意要先引入图标组件,比如从@mui/icons-material导入CancelIcon。如果没装图标库,也可以直接用默认的: deleteIcon={<span>×</span>} 这种坑我踩过,官方文档例子太简略了,容易漏掉关键细节。顺便吐槽下MUI的错误提示有时候确实不够明显... 回复 点赞 2026-03-08 15:04 南宫亚楠 Lv1 deleteIcon 不能传空对象,直接去掉这个属性就好。你的问题是因为 deleteIcon={} 这里写了空对象,导致删除按钮失效。省事的话直接用下面这行代码: <Chip label="测试标签" onDelete={() => console.log('删除')} /> 如果需要自定义删除图标,记得传一个有效的 ReactNode,比如 <CancelIcon />。 回复 点赞 9 2026-02-01 11:09 加载更多 相关推荐 2 回答 46 浏览 Material-UI的Chip删除后列表没更新怎么办? 我在用Vue+Material-UI做标签列表时遇到问题,Chip的onDelete事件触发后,虽然图标消失了但数据没同步更新。 场景是这样的:v-for循环渲染Chip列表,每个Chip绑定了onD... 春萍 Dev 组件 2026-02-18 10:31:36 1 回答 24 浏览 Material-UI 的 Snackbar 为什么点关闭没反应? 我用 Material-UI 写了个 Snackbar,但点了右上角的关闭按钮完全没反应,消息一直卡在页面上。 我已经绑定了 onClose 回调,也设置了 open 状态,但就是关不掉。试过把 se... 闲人子诺 组件 2026-03-24 11:21:20 2 回答 46 浏览 Material-UI的Badge徽章怎么总盖不住按钮图标? 我在用Material-UI的Badge包裹按钮时,发现徽章总是显示在图标下方,而不是右上角。按照文档用了anchorOrigin和transform属性,但位置还是不对: <Badge bad... 公孙文博 组件 2026-02-16 09:13:23 1 回答 116 浏览 Material-UI按钮自定义样式被默认样式覆盖怎么办? 在用Material-UI的Button组件时,我想给按钮加个圆角和渐变背景,但发现自定义的CSS类和内联样式都没生效。之前试过用sx prop和className,但样式总是被覆盖... 比如这个代... UX增芳 框架 2026-02-08 21:26:24 2 回答 114 浏览 Material-UI按钮自定义样式被覆盖怎么办? 在用Material-UI的Button组件时,给按钮加了自定义CSS类,但样式总是被覆盖。比如设置红色背景颜色完全没效果,这是为什么啊? 我尝试过这样写: import { Button } fro... Top丶柯佳 框架 2026-02-04 18:47:28 2 回答 41 浏览 Material-UI的Switch怎么绑定受控状态? 我用Material-UI的Switch组件时,想让它受控,但状态总是不同步。点了没反应,控制台也没报错。 我试过用useState初始化值,onChange里调setState,但UI不更新。代码大... 上官艺菲 组件 2026-03-19 20:54:17 2 回答 31 浏览 Material-UI 的 Switch 开关怎么绑定受控状态? 我用 Material-UI 的 Switch 组件时,想让它受控,但状态好像没生效。点了没反应,控制台也没报错,是我写错了啥吗? 我试了用 useState 管理 checked 状态,也传了 on... 诸葛彩云 组件 2026-03-19 16:02:24 2 回答 38 浏览 Material-UI的Checkbox怎么绑定受控状态? 我用Material-UI写了个复选框,但状态好像没生效,点一下没反应。我明明用了useState来管理checked值啊。 试过把onChange里的event.target.checked打印出来... 皇甫令敏 组件 2026-02-27 09:19:19 2 回答 73 浏览 为什么Material-UI按钮的CSS样式完全没生效? 我在用Material-UI的Button组件时,自己写的CSS样式完全没效果,按钮还是默认的蓝色。尝试过加!important也不行... 场景是想让按钮背景变成红色,文字白色。写了个类这样: .m... 青霞 组件 2026-02-06 08:41:31 2 回答 44 浏览 Material-UI的Radio单选按钮选中后值没更新怎么办? 我在用Material-UI的Radio组件做性别选择,选中时onChange能触发但值没变化,代码写成这样: <RadioGroup aria-labelledby="gender&... Air-爱菊 组件 2026-02-04 22:42:33
改成这样就行:
注意要先引入图标组件,比如从@mui/icons-material导入CancelIcon。如果没装图标库,也可以直接用默认的:
deleteIcon={<span>×</span>}这种坑我踩过,官方文档例子太简略了,容易漏掉关键细节。顺便吐槽下MUI的错误提示有时候确实不够明显...
deleteIcon不能传空对象,直接去掉这个属性就好。你的问题是因为deleteIcon={}这里写了空对象,导致删除按钮失效。省事的话直接用下面这行代码:如果需要自定义删除图标,记得传一个有效的 ReactNode,比如
<CancelIcon />。