获取分页反应的firestore收集记录计数[重复]

Posted

技术标签:

【中文标题】获取分页反应的firestore收集记录计数[重复]【英文标题】:get firestore collection record count for pagination react [duplicate] 【发布时间】:2019-10-06 17:29:20 【问题描述】:

我有一个表格来显示用户集合,包括搜索过滤器。现在我想添加一个 material-ui 分页,我想在其中传递总记录数。 分页工作正常。我怎样才能得到它?

任何帮助表示赞赏。!

表格和表格分页代码

 <Table className=classes.table>
            <TableHead>
              <TableRow className=classes.tableHeader>
                <TableCell >#</TableCell>
                <TableCell ></TableCell>
                <TableCell>Name</TableCell>
                <TableCell align="right">Phone</TableCell>
                <TableCell align="right">Role</TableCell>
                <TableCell align="right">Service</TableCell>
                <TableCell align="right">Location</TableCell>
              </TableRow>
            </TableHead>
            <TableBody>
              filteredList && filteredList
              .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
              .map(row => (
                <TableRow key=row.id>
                  <TableCell>items++</TableCell>
                  <TableCell align="right">
                    <Link to='/admin/profile/' + row.id key=row.id >
                      <Tooltip title="View Profile">
                        <UserIcon/>
                      </Tooltip>
                    </Link>
                  </TableCell>
                  <TableCell component="th" scope="row">
                    row.sp_Name
                  </TableCell>
                  <TableCell align="right">row.sp_Phone</TableCell>
                  <TableCell align="right">row.sp_Role</TableCell>
                  <TableCell align="right">row.sp_Service</TableCell>
                  <TableCell align="right">row.sp_Location</TableCell>

                  /* <TableCell align="right">
                    <ApproveIcon onClick=this.handleClickDialogOpen className=classes.icon />
                  </TableCell> */
                  <TableCell align="right">
                    <Tooltip title="Delete">
                      <DeleteIcon onClick=() => this.handleClickDialogOpen(row.id) className=classes.icon />
                      /* <DeleteIcon onClick=() => deleteSP(row.id) className=classes.icon /> */
                    </Tooltip>
                  </TableCell>

                </TableRow>
              ))
            </TableBody>
          </Table>
          <TablePagination
          rowsPerPageOptions=[5, 10, 25]
          component="div"
          //count=5
          count =filteredList.length -- I want to pass count
          rowsPerPage=this.state.rowsPerPage
          page=this.state.page
          backIconButtonProps=
            'aria-label': 'Previous Page',
          
          nextIconButtonProps=
            'aria-label': 'Next Page',
          
          onChangePage=this.handleChangePage
          onChangeRowsPerPage=this.handleChangeRowsPerPage
        />

【问题讨论】:

【参考方案1】:

Firestore 不会对集合中的文档数进行计数。如果需要,您必须自己存储并保持最新状态。有关这方面的示例,请参阅 aggregation queries 和 distributed counters 上的文档。

另见:Firebase firestore collection count

【讨论】:

当您需要对集合进行用户自定义查询并正确进行分页时,这不是一个很好的答案。这方面有什么改进吗?

以上是关于获取分页反应的firestore收集记录计数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Firestore分页与FirestoreRecyclerAdapter(Android)[重复]

Firestore - 如何像我们在sql中所做的那样获取集合中的记录总数[重复]

使用猫鼬的收集计数[重复]

HTSQL - 获取查询返回的计数/记录数

在本机反应中获取和返回 Firestore 集合

如何使用 ReactJs 对 Cloud Firestore 数据进行分页