Не удалось сопоставить данные с ячейкой строки данных, виджет таблицы данных дрожит

Я создаю для отображения некоторых данных в таблице. Содержимое данных находится в списке, я попытался сопоставить его с строками datawidgetно я получаю эту ошибку, когда пытаюсь использовать amountpaid.map

Тип аргумента «Итерируемый» не может быть назначен типу параметра «Список».

Я не понимаю ошибку, что это значит и как ее решить.

класс суммы

      class amountPaidClass {
  int amount;
  amountPaidClass({required this.amount});
}

var amountpaid = <amountPaidClass>[
  amountPaidClass(amount: 1000),
  amountPaidClass(amount: 5000),
  amountPaidClass(amount: 7000)
];

Отображение данных

                body: Center(
            child: Container(
              child: DataTable(
                  columns: const [DataColumn(label: Text('Amount'))],
                  rows: amountpaid.map((amountPaidClass) => null)
                  ),
            ),
          )

1 ответ

Проверьте тип List.map . Он производит . Итак, если вы хотите Listопять же, вам придется что-то делать - в этом случае вызов .toList()на вашей Iterableдолжен сделать это.

Другими словами, amountpaid.map( ... ).toList().

Использование хорошего редактора кода должно показать вам тип mapв зависании, что должно облегчить этот анализ.

(Кроме того, ваш код по-прежнему выглядит ошибочным, так как вы будете создавать список нулей, поскольку вы сопоставляете каждый элемент с нулевым значением.)

Другие вопросы по тегам