如何解决Flutter自定义类包含数组 更新:
这对您来说应该很容易。
我有一个课,像这样:
class MenuItem {
final String uid;
final String category;
MenuItem ({ this.uid,this.category });
}
class ItemData {
final String URL;
final String itemName;
final String itemDescription;
final double itemPrice;
ItemData({ this.URL,this.itemName,this.itemDescription,this.itemPrice });
}
我需要在此类中有一个字符串数组,以便您可以添加诸如“素食主义者”,“无麸质”,“包含坚果”之类的标签。不知道如何在课堂上实际实现这一点。是这样的吗?
class MenuItem {
final String uid;
final String category;
MenuItem ({ this.uid,this.category });
}
class ItemData {
final String URL;
final String itemName;
final String itemDescription;
final tags = []; // An attempt has been made.
final double itemPrice;
ItemData({ this.URL,this.tags[],this.itemPrice });
}
那是行不通的。
解决方法
您必须指定“列表”类型:List<String>
来声明一个集合(在这种情况下为列表)。
然后您可以使用[]
语法创建它。
看看Dart's List文档。
更新:
已删除的答案(我刚刚看到的)似乎是正确的...不确定OP为何将其删除/ shrugh
,我想我可以回答这个问题。如果您想选择“纯素”,“无麸质”,“含坚果” ...等中的任何一种,则此答案适用于您,如果您想一次选择多个选项,则必须搜索另一种方法。
具有静态变量而不是列表。
static const int vegan = 0;
static const int glutterFree = 1;
static const int containsNuts = 2;
final int tag;
并创建如下的构造函数:
ItemData({ this.URL,this.itemName,this.itemDescription,this.tag,this.itemPrice });
您现在可以像这样传递参数:
ItemData _itemData = ItemData(tag: ItemData.vegan,/*other parameters*/);
希望这符合您的要求。如果没有,请在评论中提及我。编码愉快:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。