当动态表行没有值时如何保留它?

发布于 2025-01-10 03:20:16 字数 1463 浏览 0 评论 0原文

我有这段代码:

const HistoricalGrid = ((props) => {
return (
    <div className="main-table">
        <DataTable rows={props.selectedFile} headers={headers}>
            {({ rows, headers, getTableProps, getHeaderProps, getRowProps }) => (
                <Table {...getTableProps()}>
                    <TableHead>
                        <TableRow>
                            {headers.map((header) => (
                                <TableHeader {...getHeaderProps({ header })}>
                                    {header.header}
                                </TableHeader>
                            ))}
                        </TableRow>
                    </TableHead>
                    <TableBody>
                        {props.selectedFile.map((row) => (
                            <TableRow rows="4"  {...getRowProps({ row })}>
                                <TableCell key={row.id} >{row.name}</TableCell>
                                <TableCell key={row.id}>{row.type}</TableCell>
                                <TableCell key={row.id}>{new Date().toString()}</TableCell>
                            </TableRow>
                        ))}
                    </TableBody>
                </Table>
            )}
        </DataTable>

但是,我只在单击按钮时获取行数据,即使没有值,如何保留行?

I have this code :

const HistoricalGrid = ((props) => {
return (
    <div className="main-table">
        <DataTable rows={props.selectedFile} headers={headers}>
            {({ rows, headers, getTableProps, getHeaderProps, getRowProps }) => (
                <Table {...getTableProps()}>
                    <TableHead>
                        <TableRow>
                            {headers.map((header) => (
                                <TableHeader {...getHeaderProps({ header })}>
                                    {header.header}
                                </TableHeader>
                            ))}
                        </TableRow>
                    </TableHead>
                    <TableBody>
                        {props.selectedFile.map((row) => (
                            <TableRow rows="4"  {...getRowProps({ row })}>
                                <TableCell key={row.id} >{row.name}</TableCell>
                                <TableCell key={row.id}>{row.type}</TableCell>
                                <TableCell key={row.id}>{new Date().toString()}</TableCell>
                            </TableRow>
                        ))}
                    </TableBody>
                </Table>
            )}
        </DataTable>

But, I only get the rows data when a button is clicked, how can I keep the rows even if has no value ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魔法唧唧 2025-01-17 03:20:16

您可以检查数组长度并使用三元:

                        {props.selectedFile.length                                                                       
                            ? props.selectedFile.map((row) => (
                               ...
                            ))
                            : <TableRow>No result</TableRow>
                        }

you can check the array length and use a ternary :

                        {props.selectedFile.length                                                                       
                            ? props.selectedFile.map((row) => (
                               ...
                            ))
                            : <TableRow>No result</TableRow>
                        }
遇到 2025-01-17 03:20:16

const generateNRows = nb => {
     const rows = [];
     for($i = 0; $i < $nb; $i++){
         rows.push(<tr/>);
     }
     return rows;
}

const nowDate = new Date();

return (...

                        {props.selectedFile.map((row) => (
                            <TableRow  {...row} key={row.id} >
                                <TableCell>{row.name}</TableCell>
                                <TableCell>{row.type}</TableCell>
                                <TableCell>{nowDate.toString()}</TableCell>
                            </TableRow>
                        ))}
                        {props.selectedFile.length < 4 && (
                            <>
                                {generateNRows(4 - props.selectedFile.length)}
                            </>
                         )}

 

const generateNRows = nb => {
     const rows = [];
     for($i = 0; $i < $nb; $i++){
         rows.push(<tr/>);
     }
     return rows;
}

const nowDate = new Date();

return (...

                        {props.selectedFile.map((row) => (
                            <TableRow  {...row} key={row.id} >
                                <TableCell>{row.name}</TableCell>
                                <TableCell>{row.type}</TableCell>
                                <TableCell>{nowDate.toString()}</TableCell>
                            </TableRow>
                        ))}
                        {props.selectedFile.length < 4 && (
                            <>
                                {generateNRows(4 - props.selectedFile.length)}
                            </>
                         )}

 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文