小编Gau*_*ain的帖子

当 IndexedStack 的子级特定状态发生变化时如何重建 IndexedStack

IndexedStack解决了底部导航索引变化时内容持久化的问题。但是当 IndexedStack 的子状态发生变化时,我如何找不到重建 IndexedStack 的方法。仅当应用程序重新启动时,子项的状态更改才会反映出来。

IndexedStack更改时不更新_children

下面是代码:

 Widget myBody() {
    Widget myBodyWidgetData = SizedBox.shrink();
    if (_isSelectedConnectionReady &&
        _selectedConnectionId is int &&
        _selectedConnectionId >= 0 &&
        _selectedConnection.runtimeType == Connection) {
      myBodyWidgetData = IndexedStack(
        index: _selectedBottomNavigationIndex,
        children: _children,
      );
    } else if (_isSelectedConnectionReady && _selectedConnectionId < 0) {
      final GlobalKey<RefreshIndicatorState> _refreshIndicatorKey =
          new GlobalKey<RefreshIndicatorState>();
      myBodyWidgetData = RefreshIndicator(
        key: _refreshIndicatorKey,
        onRefresh: setSelectedConnection,
        child: SingleChildScrollView(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.fromLTRB(10, 20, 10, 20),
                child: Text( …
Run Code Online (Sandbox Code Playgroud)

flutter

7
推荐指数
1
解决办法
3866
查看次数

如何在不单击按钮的情况下在颤振中显示警报对话框

当存在特定错误状态接收且列表数据不为空时,我找不到在列内显示对话框警报的方法。警报对话框不涉及任何按钮单击,并且所有在线示例都包含 onTap 按钮。

\n

我想在列表数据不为空并且设置了错误标志时显示警报。

\n

下面是我的代码:

\n
  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      key: scaffoldKey,\n      appBar: _myAppBar(),\n      body: RefreshIndicator(\n        key: _refreshIndicatorKey,\n        onRefresh: handleRefresh,\n        child: isListError && ordersListData.isEmpty\n            ? _mainErrorWidget()\n            : Column(\n                children: <Widget>[\n                  Expanded(\n                    child: NotificationListener<ScrollNotification>(\n                      onNotification: (ScrollNotification scrollInfo) {\n                        if (hasMoreToLoad &&\n                            !isListLoading &&\n                            !isListError &&\n                            scrollInfo.metrics.pixels ==\n                                scrollInfo.metrics.maxScrollExtent) {\n                          handleLoadMore();\n                        }\n                      },\n                      child: ListView.builder(\n                          itemCount: ordersListData.length,\n                          itemBuilder: (BuildContext context, int index) {\n                            return Card(\n                              child: InkWell(\n                                onTap: () {\n                                  Navigator.push(\n                                    context,\n                                    MaterialPageRoute(\n                                      builder: (context) => OrderDetailsPage(\n …
Run Code Online (Sandbox Code Playgroud)

flutter

4
推荐指数
1
解决办法
6262
查看次数

在 Flutter 中经过一段时间后隐藏小部件的简单方法

我已经使用flutter_offline库来显示离线和在线消息。问题是我想在一段时间后隐藏在线消息。当状态已连接但经过一段时间后,我无法找到删除容器的方法。

下面是我的代码:

body: OfflineBuilder(
        connectivityBuilder: (
          BuildContext context,
          ConnectivityResult connectivity,
          Widget child,
        ) {
          final bool connected = connectivity != ConnectivityResult.none;
          return SingleChildScrollView(
            scrollDirection: Axis.vertical,
            padding: const EdgeInsets.all(0.0),
            child: Column(
              children: [
                AnimatedSwitcher(
                    duration: const Duration(milliseconds: 350),
                    child: connected
                        ? Container(
                            color: Colors.lightGreenAccent[400],
                            height: 25,
                            child: Row(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: <Widget>[
                                Text(
                                  'ONLINE',
                                  style: TextStyle(color: Colors.black),
                                ),
                              ],
                            ))
                        : Container(
                            color: Colors.red,
                            height: 25,
                            child: Row(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: <Widget>[
                                Text(
                                  'OFFLINE',
                                  style: TextStyle(color: Colors.white),
                                ),
                                SizedBox(width: …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout flutter-animation

2
推荐指数
2
解决办法
4175
查看次数