gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:40:37 26 4
gpt4 key购买 nike

如何在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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com