我正在使用PrimeAreact Datatables并从JSON动态创建列。如何在表中呈现布尔值?现在他们没有出现。
JSON人员示例
const person = [
{
"id":1,
"person":"John Smith",
"canEdit":false,
"canView":true
},
{
"id":2,
"person":"Frank Jones",
"canEdit":true,
"canView":true
}
]
组件
...
const dynamicColumns = columns.map((col,i) => {
return <Column key={col.field} field={col.field} header={col.header} />;
});
return (
<DataTable value={person}>
{dynamicColumns}
</DataTable>
)
...
使用DataTable模板
const booleanChecker = (rowData, item) => {
if (typeof rowData[item.field] === "boolean") {
return rowData[item.field] ? "Accepted" : "Unaccepted";
} else {
return rowData[item.field];
}
};
const dynamicColumns = columns.map((col, i) => {
return (
<Column
key={col.field}
field={col.field}
header={col.header}
body={booleanChecker}
/>
);
});
return (
<div>
<div className="card">
<DataTable value={products}>{dynamicColumns}</DataTable>
</div>
</div>
);