如何在React ag-grid表格行中添加图标?cellRenderer不生效如何解决
问题原因
- 你当前的
actionCellRenderer返回的是普通HTML字符串,字符串内的React组件<BiCoinStack/>不会被React解析,只会被当成纯文本输出,自然无法渲染图标。 - React版本的ag-grid渲染React组件作为单元格内容,需要遵循ag-grid-react的组件渲染规则,不能直接返回HTML字符串。
解决步骤
- 首先确保你已经正确安装依赖并导入所需图标:
import { BiCoinStack } from 'react-icons/bi';
- 修改渲染函数,直接返回JSX元素,不要用引号包裹:
function actionCellRenderer(params) { return <span><BiCoinStack className="bi-react-icons"/></span> }
- 调整列配置匹配你的ag-grid版本:
如果使用的是ag-grid v28及以上版本,保留现有cellRenderer配置即可生效。
如果使用的是ag-grid v27及更早版本,需要将列配置中的cellRenderer替换为cellRendererFramework:
columnDefinitionWaterUsage: [ // 其他列配置保持不变 { headerName: "Tahakkuk", cellRendererFramework: actionCellRenderer, width: 85, minWidth: 50, maxWidth: 200, suppressSizeToFit: false }, { headerName: "Tahsilat", cellRendererFramework: actionCellRenderer, width: 85, minWidth: 50, maxWidth: 200, suppressSizeToFit: false }, ]
可选检查项
- 确认项目中已安装
react-icons依赖,图标导入路径无误 - 如果图标显示大小异常,可以给
BiCoinStack添加自定义样式调整
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

