如何为Material Table指定列添加带player_id参数的onRowClick功能
实现方案
你可以直接通过Material Table列配置自带的render属性自定义单元格内容,把名称字段包裹为支持新窗口跳转的链接,直接从行数据中取出接口返回的player_id拼接进跳转地址即可,修改后的代码如下:
<div className="table-responsive"> <MaterialTable title="Filter/Search/Sort by Column Attribute" columns={[ { title: 'Name', field: 'player_name_last_first', // 自定义单元格渲染逻辑 render: rowData => ( <a href={`/你的目标跳转路径?player_id=${rowData.player_id}`} target="_blank" rel="noopener noreferrer" style={{ textDecoration: 'none', color: '#1976d2' }} > {rowData.player_name_last_first} </a> ) }, // 其余列配置保持不变 ]} // 其余Material Table配置保持不变 /> </div>
补充说明
- 代码里的
/你的目标跳转路径替换为实际需要跳转的页面地址即可 - 新增的
rel="noopener noreferrer"是新窗口跳转的标准安全配置,可避免潜在的安全漏洞 - 如果你项目用了React Router做路由管理,也可以把原生
<a>标签替换为<Link>组件,给组件加target="_blank"属性就能实现同样的新窗口跳转效果 - 请确保接口返回的每一行数据中存在
player_id字段,如果实际接口返回的字段名不同,替换为对应的字段名即可
内容的提问来源于stack exchange,提问作者deagleshot32
相关产品推荐
相关产品推荐

