如何在Flutter中将项目添加到自定义列表?

时间:2020-10-12 15:32:14

标签: flutter

我知道在整数列表中添加一个整数是:

List<int> myList = [];
myList.add(1);

我知道将一个字符串添加到字符串列表是:

List<String> myList = [];
myList.add("Hello World");

但是如何将一组添加到我的自定义列表中?

Class MyList {
  String name;
  int price;

MyList({
  this.name,
  this.price,
 });
}

我希望myList最后是这样的:

List<MyList> myList = [
  MyList(
    name: 'Chorizo Canapes',
    price: 12.99,
  ),
  MyList(
    name: 'Cucumber',
    price: 8.99,
  ),
  MyList(
    name: 'Eggs',
    price: 11.99,
  ),
];

谢谢。

编辑:对不起,我不清楚。我想做这样的事情:

List<MyList> myList = [];
myList.add({name: 'patato', price: 10})

我该怎么做?

1 个答案:

答案 0 :(得分:0)

那是什么问题?您可以创建此类,也可以创建此列表。正是您想要的。

请注意:

  1. 重写“ Class” =>“ class”
  2. 将“价格”从int更改为double(如Richard Heap所说)
  3. 别忘了将类文件导入到创建列表的文件中,例如:'import'package:project / myList.dart';'

工作代码:

class MyList {
  String name;
  double price;

MyList({
  this.name,
  this.price,
 });
}

List<MyList> myList = [
  MyList(
    name: 'Chorizo Canapes',
    price: 12.99,
  ),
  MyList(
    name: 'Cucumber',
    price: 8.99,
  ),
  MyList(
    name: 'Eggs',
    price: 11.99,
  ),
];

更新:另外,您也可以在类构造函数中将参数标记为“ @required”(添加“ import'package:flutter / widgets.dart';”),以确保确实需要此参数。

示例:

import 'package:flutter/widgets.dart';

class MyList {
  String name;
  double price;

MyList({
  @required this.name,
  this.price,
 });
}

List<MyList> myList = [
  MyList(
    name: 'Chorizo Canapes',
    price: 12.99,
  ),
  MyList(//Error: need parameter "name"
    price: 8.99,
  ),
  MyList(
    name: 'Eggs',
    price: 11.99,
  ),
];

Upd2:要创建自己的列表,您可以编写

    List<MyList> myList2 = List<MyList>();
    myList2.add(
      MyList(
        name: 'Chorizo Canapes',
        price: 12.99,
      ),
    );

    List<MyList> myList3 = [];
    myList3.add(
      MyList(
        name: 'Cucumber',
        price: 8.99,
      ),
    );