Flutter, как программно изменить страницу в PaginatedDataTable?

У меня есть PaginatedDataTable и панель поиска, она отлично работает, но когда я искал, мой DataTable не переходит на первую страницу. Когда я нажимаю первую страницу, это первая страница, и отображается мой новый отфильтрованный список. Как я могу программно изменить страницу в dataTable?

Это моя PaginatedDataTable

          PaginatedDataTable paginatedDataTable = PaginatedDataTable(
    actions: [
      AnimatedSearchBar(
          width: 300,
          textController: _searchController,
          onSuffixTap: () {
            setState(() {
              _searchController.text = "";
            });
          }),
      widget.showDialog == null
          ? SizedBox()
          : AddUpdateButton(
              buttonType: ButtonTypes.add,
              onPressed: widget.showDialog,
            )
    ],
    initialFirstRowIndex: firstRowIndex,
    source: dts, 
    rowsPerPage: _rowsPerPage,
    header: Text(
      widget.title,
      style: CustomTextStyle.mblackBoldTextStyle,
    ),
    sortColumnIndex: _sortColumnIndex,
    sortAscending: _sortAscending,
    availableRowsPerPage: [
      _defaultRowsPerPage,
      _defaultRowsPerPage * 2,
      _defaultRowsPerPage * 5,
      _defaultRowsPerPage * 10
    ],
    showCheckboxColumn: false,
    dataRowHeight: widget.dataRowHeight,
    showFirstLastButtons: true,
    onRowsPerPageChanged: (r) {
      setState(() {
        _rowsPerPage = r;
      });
    },
    columns: widget.headerList.map((e) {
      return DataColumn(
          label: Text(e.name.toUpperCase()),
          onSort: (int columnIndex, bool ascending) {
            if (e.sort) {
              return _sort(
                  (T d) => d.getProp(e.propName), columnIndex, ascending);
            }
          });
    }).toList(),
  );

1 ответ

Я создаю ключ

      final key = new GlobalKey<PaginatedDataTableState>();

Дайте ключ PaginatedDataTable

       PaginatedDataTable(
        key: key
        ...)

и я использую эту функцию

      key.currentState.pageTo(0);

вы можете посмотреть этот вопрос для использования состояния ключа: Ссылка

Другие вопросы по тегам