我正在使用 TypeScript。在表格中,我有一个列值为
val desc = "<div><p>testing</p></div>"
我希望在value中呈现为testing
。 我正在使用
react-table
我尝试过new DOMParser().parseFromString("<div><p>testing</p></div>", "text/html")
,但是报错:
Error: 在React子级中不允许对象(找到:[object HTMLDocument])。 如果您想呈现一组子级,请改用数组
这是我的react-table代码:
<Table
data={data}
headers={headers}
searchable={true}
searchPlaceholder={'Search Apps'}
toolBarButtons={toolBarButtons}
/>
const headers = useMemo(
() => [
{
Header: <LeftHeader>{checkbox}</LeftHeader>,
accessor: 'Checkbox',
disableSortBy: true,
},
{
Header: <LeftHeader>Name {sortIcon}</LeftHeader>,
accessor: 'Name',
},
{
Header: <LeftHeader>Type {sortIcon}</LeftHeader>,
accessor: 'Type',
},
{
Header: <LeftHeader>Tenancy {sortIcon}</LeftHeader>,
accessor: 'Tenancy',
},
{
Header: <LeftHeader>Description {sortIcon}</LeftHeader>,
accessor: 'Description',
},
{
Header: <LeftHeader>Action</LeftHeader>,
accessor: 'Button',
disableSortBy: true,
},
],
[],
)
const data = useMemo(() => {
return List.map((ap) => {
const actionButton = (
<Edit
size={20}
cursor={'pointer'}
color={'#1E95DE'}
onClick={() => setRedirectUrl(RouteConstants.Marketplace + '/' + ap.id)}
/>
)
checkbox = <input type={'checkbox'} onChange={(e) => handleInputChange(e, ap)} />;
return {
Checkbox: checkbox,
Name: ap.stuName,
Type: options.filter(e => e.value === ap.stuType).map(f => {
return f.label
}),
Description: ap.studescription,
Tenancy: titleCase(ap.stuTenancy),
Button: actionButton,
};
})
}, [List])
我该如何实现这个目标?
desc
被定义为字符串"<div><p>testing</p></div>"
而不是 React 元素<div><p>testing</p></div>
,这样做有什么原因吗?如果没有,请删除引号,问题就会解决。 - 3limin4t0rreact-table
吗? - Arvind K.