我正在尝试在表格单元格中使用tippyjs-react,但没有出现工具提示。
我在React Table的Cell选项中添加了工具提示:
Cell: ({ value }) => {
return (
<div>
<Tippy content="Tooltip content">
<span>{value}</span>
</Tippy>
</div>
);
}
我正在尝试在表格单元格中使用tippyjs-react,但没有出现工具提示。
我在React Table的Cell选项中添加了工具提示:
Cell: ({ value }) => {
return (
<div>
<Tippy content="Tooltip content">
<span>{value}</span>
</Tippy>
</div>
);
}
问题是在您的Table
组件内部您更改columns
为呈现工具提示,但您在useTable
调用后执行此操作。
因此,一个简单的解决方法是将这个逻辑放在useTable
调用之前:
function Table({ columns, data }) {
for (let i = 0; i < columns.length; i++) {
columns[i].columns = columns[i].columns.map((column) => ({
...column,
Cell: ({ value }) => {
return (
<div>
<Tippy content="Tooltip content">
<span>{value}</span>
</Tippy>
</div>
);
},
}));
}
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow,
} = useTable({
columns,
data,
});
return (
<table {...getTableProps()}>
<thead>
{headerGroups.map((headerGroup) => (
<tr {...headerGroup.getHeaderGroupProps()}>
{headerGroup.headers.map((column) => (
<th {...column.getHeaderProps()}>{column.render("Header")}</th>
))}
</tr>
))}
</thead>
<tbody {...getTableBodyProps()}>
{rows.map((row, i) => {
prepareRow(row);
return (
<tr {...row.getRowProps()}>
{row.cells.map((cell) => {
return <td {...cell.getCellProps()}>{cell.render("Cell")}</td>;
})}
</tr>
);
})}
</tbody>
</table>
);
}