setState会刷新整个页面,在只需要刷新部分组件的时候可以用StatefulBuilder
先给需要局部刷新的组件创建一个StateSetter
StateSetter _stateSetter;
需要刷新的组件用StatefulBuilder包裹,绑定_stateSetter
StatefulBuilder(
builder: (BuildContext context, StateSetter stateSetter) {
_stateSetter = stateSetter;
return Text(
_textValue,
style: TextStyle(fontSize: 28.sp, color: hexColor('666666')),
);
},
)
然后在需要刷新的时候调用
_stateSetter(() {
_textValue = '我要刷新啦!';
});
网友评论