gpt4 book ai didi

dart - 在底部工作表中点击项目时显示 snackbar

转载 作者:IT王子 更新时间:2023-10-29 06:54:16 25 4
gpt4 key购买 nike

我想在底部工作表中单击某个项目时显示 Snackbar。我试过了。

@override
Widget build(BuildContext defaultContext) {
return Scaffold(
body: Center(
child: RaisedButton(
onPressed: () => showModalBottomSheet(
context: defaultContext,
builder: (BuildContext context) {
return Builder(
builder: (BuildContext builderContext) {
return ListTile(
title: Text("Click me"),
onTap: () {
Navigator.pop(builderContext); // hiding bottom sheet
Scaffold.of(builderContext).showSnackBar(SnackBar(content: Text("Hi")));
},
);
},
);
},
),
),
),
);
}

但是我有错误

Scaffold.of() called with a context that does not contain a Scaffold

注意 这个问题不是 this 的重复

PS:我知道我可以在 Scaffold 中使用 GlobalKey 来显示 Snackbar 但我想使用 Builderdocs suggest 一样使用 Builder。我确实使用了生成器,但它没有用。

最佳答案

这终于成功了。

@override
Widget build(BuildContext defaultContext) {
return Scaffold(
body: Center(
child: Builder(builder: (builderContext) {
return RaisedButton(
onPressed: () => showModalBottomSheet(
context: defaultContext,
builder: (BuildContext context) {
return ListTile(
title: Text("Click me"),
onTap: () {
Navigator.pop(builderContext); // hiding bottom sheet
Scaffold.of(builderContext).showSnackBar(SnackBar(content: Text("Hi")));
},
);
},
),
);
},),
),
);
}

我需要将 Builder 移到树上。不知道为什么但它起作用了。

关于dart - 在底部工作表中点击项目时显示 snackbar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53869037/

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