有什么方法可以在不知道嵌套键的情况下传递嵌套 json 的访问器。 Table 抛出错误
Is there any way to pass accessors nested json without knowing the nesting keys. Table throws error
React Table:有没有办法在不知道嵌套键的情况下传递嵌套的访问器 json。 React table 抛出错误:对象作为 React 子项无效(找到:具有键 {childnode} 的对象)。如果您打算渲染一组子项,请改用数组。
columns = Object.keys(data).map(key=>{
return {
Header: key,
accessor: key
}
});
<ReactTable
id = "table"
data={data}
filterable
defaultFilterMethod={(filter, row, column) => {
const id = filter.pivotID || filter.id;
/*String(row[filter.id]) === filter.value*/
if (typeof filter.value === "object") {
return row[id] !== undefined
? filter.value.indexOf(row[id]) > -1
: true;
}
/* else {
return row[id] !== undefined
? String(row[id]).indexOf(filter.value) > -1
: true;
}*/
else {
return row[id] !== undefined
? String(row[id].toLowerCase()).startsWith(filter.value.toLowerCase())
: true;
}
}
}
columns =
{
columns
}
minRows = {0}
defaultPageSize={20}
className="-striped -highlight"
/>
您用来创建列的 data
变量 必须是一个 json 对象,而不是对象列表 。由于您没有在上面的代码中包含 data
变量,我假设它是一个列表,因此是错误的。通常情况下 data
指的是一个列表。
为了获取对象的所有键,您可能希望在第一个数据对象上构建循环(假设所有数据对象都具有相同的键):
const columns = Object.keys(data[0]).map(key=>{
return {
Header: key,
accessor: key
}
}))
React Table:有没有办法在不知道嵌套键的情况下传递嵌套的访问器 json。 React table 抛出错误:对象作为 React 子项无效(找到:具有键 {childnode} 的对象)。如果您打算渲染一组子项,请改用数组。
columns = Object.keys(data).map(key=>{
return {
Header: key,
accessor: key
}
});
<ReactTable
id = "table"
data={data}
filterable
defaultFilterMethod={(filter, row, column) => {
const id = filter.pivotID || filter.id;
/*String(row[filter.id]) === filter.value*/
if (typeof filter.value === "object") {
return row[id] !== undefined
? filter.value.indexOf(row[id]) > -1
: true;
}
/* else {
return row[id] !== undefined
? String(row[id]).indexOf(filter.value) > -1
: true;
}*/
else {
return row[id] !== undefined
? String(row[id].toLowerCase()).startsWith(filter.value.toLowerCase())
: true;
}
}
}
columns =
{
columns
}
minRows = {0}
defaultPageSize={20}
className="-striped -highlight"
/>
您用来创建列的 data
变量 必须是一个 json 对象,而不是对象列表 。由于您没有在上面的代码中包含 data
变量,我假设它是一个列表,因此是错误的。通常情况下 data
指的是一个列表。
为了获取对象的所有键,您可能希望在第一个数据对象上构建循环(假设所有数据对象都具有相同的键):
const columns = Object.keys(data[0]).map(key=>{
return {
Header: key,
accessor: key
}
}))