【发布时间】:2019-05-21 07:58:27
【问题描述】:
我想在多个地方使用同一个小部件实例,一个地方的更改将同步到另一个地方。
但是在多个地方使用同一个实例看起来就像多个不同的实例。
那么我怎样才能实现这一壮举呢?
var test = InAppWebView(
// ...
);
Widget build(BuildContext context) {
return Scaffold(
body: PageView(
children: [
test, // widget one
test, // widget two
],
controller: _pageController,
physics: NeverScrollableScrollPhysics(),
onPageChanged: onPageChanged,
),
),
}
我正在使用flutter_inappbrowser。
小部件一和小部件二使用相同的实例,但是当我使用小部件一打开网页时,小部件二不受影响。
我希望小部件一和小部件二是同一个小部件,当小部件一改变时,小部件二也会受到影响。
【问题讨论】:
-
这可以通过 StatefulWidget 或某种控制器来实现。也许你应该问问插件的维护者看看它是否有这个功能。
-
你为什么不使用 webview_flutter 官方插件,它有控制器,你可以轻松使用。我在应用浏览器中使用过,但在构建 IOS 时遇到了问题。如果您想尝试创建一个方法并传递相关参数,并且可能是如果在应用程序浏览器中有
key属性,您可以尝试使用相同的键(我不确定是否使用相同的键)