gpt4 book ai didi

flutter - flutter 区分小部件的多个实例

转载 作者:行者123 更新时间:2023-12-03 03:58:41 29 4
gpt4 key购买 nike

我正在编写一个使用自定义小部件的多个实例的应用程序,并且想调用特定实例的方法。

代码示例:

Widget build(BuildContext context) {
return Scaffold(
drawer: new DrawerOnly(storage: CounterStorage()),
appBar: AppBar(),
body: Stack(
children: <Widget>[
new Center(
child: new Object3D(

),
),
new Positioned(
top: 20,
left: 0,
child: new Object3D(

),
),
new Positioned(
top: 20,
left: 100,
child: new Object3D(

),
),
new Positioned(
top: 120,
left: 0,
child: new Object3D(

),
),
],
)
);
}

mymethod() {
//call first Object3D's method from here
}
}

如何从其父级调用第一个Object3D的方法?

最佳答案

您将 child 存储在这样的列表中:

final object3Ds = List<Object3D>.generate(4, (_) => Object3D());

现在,您将该引用存储在父级中,然后可以在 build方法中传递该列表的元素:

...
Stack(
children: <Widget>[
Positioned(
child: object3Ds[0],
...

最后,您现在可以使用创建的列表访问对象:

object3Ds[0].callMethod();

关于flutter - flutter 区分小部件的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58923174/

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