flutter - 如何在Flutter中清除ListViewBuilder中的对象?

标签 flutter dart

如何在Flutter中从ListView外部控制ListViewBuilder?
在文本字段中,我可以使用像这样的 Controller :controller:Textcontroller。我可以在listviewbuilder中做类似的事情来清除其中的所有对象吗?
确切地说。我的代码看起来像这样


Expanded(
                child: new ListView.builder(

                  itemCount: List.length,
                  itemBuilder: (context,index){

                 

                    return new Card(

                     //all stuff with data
                        ),
                      ),
                    );
                  },
....
我应该怎么做才能从另一个函数中调用时删除列表 View 中的所有项目?

最佳答案

您可以在小部件的状态中定义一个变量:

var _clear = false;
当此变量为true时,将清除列表,为false时,将显示该列表。您可以使用setState切换此变量。将itemCountListView.builder设置为0将清除列表。
完整代码:
 var _clear = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.all(30.0),
            child: FlatButton(
              child: Text('clear'),
              color: Colors.pinkAccent,
              onPressed: () {
                setState(() {
                  _clear = true;
                });
              },
            ),
          ),
          FlatButton(
            child: Text('add'),
            color: Colors.greenAccent,
            onPressed: () {
              setState(() {
                _clear = false;
              });
            },
          ),
          Expanded(
            child: ListView.builder(
              controller: _scrollController,
              itemCount: _clear ? 0 : 100,
              itemBuilder: (context, index) {
                return Container(
                  height: 300,
                  child: Card(
                    child: Center(
                      child: Text('$index'),
                    ),
                  ),
                );
              },
            ),
          ),
        ],
      ),
    );
  }

关于flutter - 如何在Flutter中清除ListViewBuilder中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63326169/

相关文章:

flutter - 你如何在 flutter 中链接 firebase_auth 0.11.1 中的 firebase 帐户?

flutter - flutter 如何在SQFlite数据库中存储登录响应

dart - 如何从 dart 中的函数返回 Future 或任何其他类型

android - Flutter In App Purchase : InAppPurchaseConnection. instance.queryProductDetails 返回空列表

flutter - ListView 滚动经过顶部小部件

sqlite - 升级 SQFLITE : Unhandled Exception: DatabaseException(table UsernameTable has no column named rememberMe (Sqlite code 1):

dart - 类型 'List<Serializable>' 不是类型 'List<MyManagedObject>' 的子类型

android - 使用sharedPreferences在Flutter中保存开关状态

flutter - 在 Flutter 中将很长的文本拆分为页面

flutter - 返回页面时记住底部导航栏的状态