import * as React from 'react'; import { StyleSheet, StyleProp, View, ViewStyle } from 'react-native'; import DataTableCell from './DataTableCell'; import DataTableHeader, { // eslint-disable-next-line @typescript-eslint/no-unused-vars DataTableHeader as _DataTableHeader, } from './DataTableHeader'; import DataTablePagination, { // eslint-disable-next-line @typescript-eslint/no-unused-vars DataTablePagination as _DataTablePagination, } from './DataTablePagination'; // eslint-disable-next-line @typescript-eslint/no-unused-vars import DataTableRow, { DataTableRow as _DataTableRow } from './DataTableRow'; import DataTableTitle, { // eslint-disable-next-line @typescript-eslint/no-unused-vars DataTableTitle as _DataTableTitle, } from './DataTableTitle'; export type Props = React.ComponentPropsWithRef & { /** * Content of the `DataTable`. */ children: React.ReactNode; style?: StyleProp; }; /** * Data tables allow displaying sets of data. * *
*
* *
Data table
*
*
* * ## Usage * ```js * import * as React from 'react'; * import { DataTable } from 'react-native-paper'; * * const optionsPerPage = [2, 3, 4]; * * const MyComponent = () => { * const [page, setPage] = React.useState(0); * const [itemsPerPage, setItemsPerPage] = React.useState(optionsPerPage[0]); * * React.useEffect(() => { * setPage(0); * }, [itemsPerPage]); * * return ( * * * Dessert * Calories * Fat * * * * Frozen yogurt * 159 * 6.0 * * * * Ice cream sandwich * 237 * 8.0 * * * setPage(page)} * label="1-2 of 6" * optionsPerPage={optionsPerPage} * itemsPerPage={itemsPerPage} * setItemsPerPage={setItemsPerPage} * showFastPagination * optionsLabel={'Rows per page'} * /> * * ); *} * * export default MyComponent; * ``` */ const DataTable = ({ children, style, ...rest }: Props) => ( {children} ); // @component ./DataTableHeader.tsx DataTable.Header = DataTableHeader; // @component ./DataTableTitle.tsx DataTable.Title = DataTableTitle; // @component ./DataTableRow.tsx DataTable.Row = DataTableRow; // @component ./DataTableCell.tsx DataTable.Cell = DataTableCell; // @component ./DataTablePagination.tsx DataTable.Pagination = DataTablePagination; const styles = StyleSheet.create({ container: { width: '100%', }, }); export default DataTable;