gpt4 book ai didi

dart - 将一个 dart 文件中的列表返回到另一个 dart 文件

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

我正在使用列表来创建墨水瓶按钮。我想将列表放在一个单独的 dart 文件中,并将该文件导入到我使用列表的文件中。我不知道如何导入列表。

https://pastebin.com/mf0kvsGu

我制作了一个 dart 文件来放入列表。

https://prnt.sc/ndu736 “列表错误”

 void _loginPressed() {
// these handlers are called whenever the user tries to login, resend password or create an account
print('The use wants to login with $_email and $_password');
//if (_email == ""&& _password == "") {
ButtonsLists();
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => BrowsePage(buttonList)));
//}
}
class BuyItem extends StatelessWidget {
BuyItem(this.name, this.image);

final String name;
final String image;

@override
Widget build(BuildContext context) {
ButtonsLists();

return InkWell(
child: Card(
child: GridTile(
......

http://prntscr.com/ndu7rc “导入错误”

如果我没有将列表放在单独的文件中,而是将它们放在 ButtonsLists();是在。

最佳答案

那是因为 import 只会导入您所引用的文件中编写的类。更准确地说,能够在导入的 Dart 文件中创建类的实例

解决您的问题

1- 在 ButtonsLists 类中全局初始化您的列表。 (在 Build() 方法之前)。我宁愿将它们声明为 final

2- 在 Build() 方法中用您喜欢的数据填充您的列表

3- 创建 getter 以获取已填充列表的副本

4- 在 _LoginPageState 类中创建 ButtonsLists 类的实例,并在需要时调用任何列表的 getter

实现应该是这样的:

class ButtonsLists extends StatelessWidget {

final List<MainButtons> _buttonList = new List();

@override
Widget build(BuildContext context) {
//Build your lists here
}

List<MainButtons> getMainButtonsList(){
return _buttonList;
}

然后在 _LoginPageState 类中创建类 ButtonsLists 的实例,如下所示:

ButtonsLists mLists = new ButtonsLists();

然后像这样在类里面的任何地方调用你的列表:

mLists.getMainButtonsList();

关于dart - 将一个 dart 文件中的列表返回到另一个 dart 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55752264/

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