点击Grid行后Content数据无法在另一Grid渲染,求技术排查
问题原因及解决方案
核心问题:数据格式不匹配
你的AdvancedTableView组件大概率期望data属性接收数组类型的数据源,但你传给第二个表格的是单个对象{ content: clickedContent },这会导致组件无法识别并渲染数据。
具体修复步骤
1. 调整数据格式为数组
将第二个表格的data改为数组形式,哪怕只有一条数据:
<AdvancedTableView title="Clicked Content" data={clickedContent ? [{ content: clickedContent }] : []} filter_list={[]} />
这样即使clickedContent为空,也会传一个空数组,避免组件因数据类型错误无法渲染。
2. 检查初始状态值
确保clickedContent的初始状态合理,避免首次渲染时传递无效数据:
const [clickedContent, setClickedContent] = useState(''); // 或null
3. 确认AdvancedTableView的列配置
如果调整格式后仍不显示,可能是组件需要显式指定列字段才能渲染。检查组件是否支持columns或类似属性,配置要展示的content列:
// 示例:假设组件支持columns属性 <AdvancedTableView title="Clicked Content" data={clickedContent ? [{ content: clickedContent }] : []} filter_list={[]} columns={[{ key: 'content', label: 'Content' }]} />
4. 验证rowIndex的准确性
虽然console能输出数据,但要注意表格是否包含表头行:如果有表头,event.currentTarget.rowIndex会从1开始计数,而数组索引从0开始,需要减1修正:
const rowIndex = event.currentTarget.rowIndex - 1;
内容的提问来源于stack exchange,提问作者user19478298
相关产品推荐
相关产品推荐

