如何使用我的"主页屏幕";在我在SecondScreen中操作了一些显示的数据(在HomeScreen中(后使用setState?我正在使用Navigator.pop((,但它没有显示更改。
第二屏幕:
onPressed: () {
setState(
() {
holidays[widget.index].start = test;
},
);
Navigator.pop(
context,
);
},
在我的主屏幕上,我有一个";假日";。在假日课上,我有一个按钮。。。。
GestureDetector(
onTap: () async {
await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => EditScreen(
start: start, end: end, index: index),
),
);
},
是否尝试在Navigator.push()
之后调用setState()
?
好的,所以我必须在我的主文件中创建一个回调函数,基本上只是setState()
,在创建Holiday
的实例时传递该函数,然后在await Navigator.push()
之后运行回调函数
回调功能:
void rebuild() {
print("test");
setState(() {});
}
我的假日类中的Navigator.push((
onTap: () async {
await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => EditScreen(
start: start,
end: end,
index: index,
),
),
);
rebuild!();
},