【发布时间】:2021-08-18 01:31:21
【问题描述】:
我有这段代码正在运行,这里我给出了硬编码的[0] 值,
在<MaterialTable columns={Here using data for table} /> 中使用此数据,
它应该只渲染第一行,而是在给出硬编码0 后渲染所有行,
这个结果如何渲染所有行的所有列并迭代两次?
previewData = [
{id: 1, name: "FileName", size: 15690, type: "doc", Date: "DDMMYY"}
{id: 2, name: "FileName", size: 15690, type: "doc", Date: "DDMMYY"},
{id: 3, name: "FileName", size: 15690, type: "doc", Date: "DDMMYY"},
{id: 4, name: "FileName", size: 15690, type: "doc", Date: "DDMMYY"}
]
Object.keys(props.previewData[0]).map((x) => {
if(x=="id"){return <div>{x}</div>}
) : []
奇怪的工作代码:
const columns = () => {
return (
props.previewData && props.previewData.length > 0 ?
Object.keys(props.previewData[0]).map((x) => {
if (props.Table && props.Table !== "nameTable") {
if (x === "id"){
return ({
title: ,
field: x,
width: "500rem",
sorting: false
})// similar code for other fields also
// this code should gets called only once for array [0], its get iterated over from `.forEach()` from data of MaterialTable How???
}
return (
<MaterialTable
title = ""
icons={}
options={{
}}
columns={columns()}
data={
props.previewData && props.previewData.length > 0 ? props.previewData.map((row) => {
const eachRowData = {};
Object.keys(row).forEach((y) =>{
})
return eachRowData;
}) : []
}
/>
【问题讨论】:
-
你的实际目标是什么?感觉就像您询问了 X,但真的想询问 Y。有关详细信息,请参阅 What's the XY problem?。
-
"而不是渲染所有行" - 究竟在哪里渲染?请分享您的完整代码。
-
@Bergi 我的意思是所有行,因为 i=0 被渲染,但 2,3,4 也被循环渲染,这是怎么回事我已经发送了硬编码的 0 值
-
@AshishKamble 否。您发布的代码中的任何内容都不会循环其他行。请发帖minimal reproducible example。
标签: javascript reactjs material-ui material-table