我正在使用 react-table 来显示一些行,每一行都有一个子组件,它只是呈现更多的“子行”。但是,您必须单击该行才能显示子行。React-table 没有默认扩展的设置。有一些关于这样做的讨论,但我似乎无法用我的例子做任何事情。
表.js
import React, { Component } from 'react';
import ReactTable from 'react-table';
import { columns, subComponent } from './tableSetup';
class Table extends Component {
constructor(props) {
super(props);
}
render() {
return (
<ReactTable data={ data }
columns={ columns }
SubComponent={ subComponent }
expandedRows={ true }
resizable={ false }
minRows={ 1 }
pageSize={ 8 }
showPageSizeOptions={ false } />
);
}
}
export default Table;
Run Code Online (Sandbox Code Playgroud)
tableSetup.js 与示例数据从“反应”导入反应;
export const columns = [
{
Header: …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 React 表中实现日期范围过滤器。当我更改开始或结束日期时,它会触发过滤功能,创建最小和最大日期,但当它完成时,不会过滤任何日期,并且输入从所选日期开始为空。这是我的代码:
const ChartData = () => {
const columns = React.useMemo(
() => [
{
Header: "Date",
columns: [
{
Header: "Date",
accessor: "date",
id: "date",
Filter: chartFilter.DateRangeColumnFilter,
filter: "between"
}
]
}
],
[]
);
const data = React.useMemo(() => dummyData(100000), []);
return (
<div className={classes.tableWrapper}>
<Table columns={columns} data={data} />
</div>
);
};
export default ChartData;
Run Code Online (Sandbox Code Playgroud)
过滤页面:
export function DateRangeColumnFilter({
column: { filterValue = [], preFilteredRows, setFilter, id }
}) {
const [min, max] = React.useMemo(() => …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 URL 作为表中另一个字段的超链接。
ticketurl和ticketid是我的 JSON 响应中的两个不同的名称值对。我正在尝试显示ticketid,这是指向 的超链接ticketurl:
数据是json数组
[
{
"index": 2,
"empId": "ammy",
"requestorId": null,
"profile": "a",
"request": "b",
"ticketId": "abc-12345",
"createdTime": "2019-07-07 18:01:15.0",
"updatedTime": "2019-07-07 18:56:26.0",
"statusurl": "www.xyz.com",
"ticketurl": "www.abc.com",
"status": "Open",
"description": "The issue is open"
}
]
Run Code Online (Sandbox Code Playgroud)
<ReactTable
data={data}
columns={[
{
columns: [
{
Header: "Employee Id",
accessor: "empId"
},
{
Header: "Requestor Id",
accessor: "requestorId"
},
{
Header: "Profile",
accessor: "profile"
},
{
Header: "Request",
accessor: "request"
}, …Run Code Online (Sandbox Code Playgroud) 我使用单选按钮来选择行。如何禁用多行选择以便一次只能选择一行?
我正在使用selectedFlatRows,但它允许选择多行。
const Table = props => {
const {
getTableProps,
getTableBodyProps,
headerGroups,
page,
prepareRow,
selectedFlatRows,
} = useTable(
{
columns,
data: props.linkedProducts,
},
useSortBy,
usePagination,
useRowSelect,
hooks => {
hooks.visibleColumns.push(columns => [
{
id: 'selection',
disableGlobalFilter: true,
accessor: 'selection',
Cell: ({row}) => (
<RadioButton
{...row.getToggleRowSelectedProps()}
/>
),
},
...columns,
]);
}
);
Run Code Online (Sandbox Code Playgroud)