SetState в PaginatedDataTable не обновляет представление при вложении внутри BottomNavigationBar

Я пытаюсь вызвать SetState() внутри PaginatedDataTable. По-видимому, это работает, если виджет не вложен в BottomNavigationBar, но когда я помещаю его в BottomNavigationBar, значение, установленное внутри SetState(), не обновляется, пока я не переключу вкладки, есть ли способ сделать эту работу без переключения вкладок?

Widget paginatedDataTableWidget(ItemDataSource _itemDataSource) {
    return SingleChildScrollView(
        child: Column(
      mainAxisSize: MainAxisSize.min,
      mainAxisAlignment: MainAxisAlignment.center,
      verticalDirection: VerticalDirection.down,
      children: <Widget>[
        PaginatedDataTable(
          header: const Text('Item List'),
          rowsPerPage: _rowsPerPage,
          sortColumnIndex: _sortColumnIndex,
          sortAscending: _sortAscending,
          onSelectAll: _itemDataSource._selectAll,
          columnSpacing: 8,
          onRowsPerPageChanged: (int value) {
            setState(() {
              _rowsPerPage = value;
            });
          },
    ...

      body: _widgetOptions.elementAt(_selectedIndex),
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _selectedIndex,
        selectedItemColor: Colors.teal,
        items: [
          BottomNavigationBarItem(
            title: Text("Home"),
            icon: Icon(Icons.home),
          ),
          BottomNavigationBarItem(
            title: Text("Account"),
            icon: Icon(Icons.account_circle),
          ),
        ],
        onTap: _onItemTapped,
      ),

paginatedDataTable вложен в параметры виджета, а именно:

_widgetOptions = <Widget>[showDataTable(), showAccountInfo()];

showDataTable() содержит futureBuilder, который возвращает paginatedDataTableWidget() при загрузке данных.

когда был вызван onRowsPerPageChanged(), он не обновляет страницу, пока я не перейду на другую вкладку и не вернусь на главную вкладку. Есть ли способ сделать это, не вынимая ее из BottomNavigationBar?

Любая помощь приветствуется

0 ответов

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