如何刷新ListView.builder颤振

如何刷新ListView.builder颤振,list,listview,flutter,dart,builder,List,Listview,Flutter,Dart,Builder,向列表中添加项目时,如何刷新我的ListView.builder ListView.builder( itemCount: propList.length, scrollDirection: Axis.horizontal, shrinkWrap: true, itemBuilder: (context,index)=> Text(propList[index]), ) 我的按钮是 FlatButton(onPressed: (){

向列表中添加项目时,如何刷新我的ListView.builder

ListView.builder(
      itemCount: propList.length,
      scrollDirection: Axis.horizontal,
      shrinkWrap: true,
      itemBuilder: (context,index)=> Text(propList[index]),
    )
我的按钮是

FlatButton(onPressed: (){propList.add('text');}, child: Text('add'))

假设您已经扩展了
StatefulWidget
,每次更改状态时都必须调用
setState
。例:

setState(() { propList.add('text'); });
下面是一个简单的例子:

导入“包装:颤振/材料.省道”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
//此小部件是应用程序的根。
@凌驾
小部件构建(BuildContext上下文)=>MaterialApp(home:MyList());
}
类MyList扩展了StatefulWidget{
@凌驾
_MyListState createState();
}
类_MyListState扩展状态{
List propList=[];
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“我的列表”),
),
正文:ListView.builder(
itemCount:propList.length,
滚动方向:轴水平,
收缩膜:对,
itemBuilder:(上下文,索引)=>文本(propList[index]),
),
浮动操作按钮:浮动操作按钮(
按下:()=>setState(()=>propList.add('text')),
子:图标(Icons.add),
),//此尾随逗号使生成方法的自动格式设置更方便。
);
}
}

非常感谢,这很有效,感谢您举个例子。删除怎么样?setState((){propList.remove(widget.propName);});这不起作用
remove
方法获取要删除的确切对象。或者您可以调用
removeLast()
@husamuldenhow可以强制刷新无状态小部件。@VrajendraSinghMandloi您可以使用提供程序包和future builder。在
Cosumer