#dart #flutter
#dart #flutter
Вопрос:
Я новичок в Flutter amp; Dart и пытаюсь создать приложение.
Моя цель на данный момент — создать список (массив), но с «индексом», чтобы получить к нему доступ позже. После этого я хочу вывести его в виджете. К сожалению, я не нашел никаких руководств или полезных ресурсов в Интернете.
-
Создайте список, содержащий дату и дни для события. Я пробовал следующее, но это не работает.
var events = [ {"day": "Monday", "date": "01.01.2019", "title": "Musical Event Austria"}, {"day": "Wednesday", "date", "01.01.2019", "title": "Musical Event 2"}];
-
Выполните цикл по списку и выведите его в виджете
new Container(decoration: const BoxDecoration( color: Color(0xFF0F1633), ), child: SingleChildScrollView( scrollDirection: Axis.horizontal, child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: events.map((day, date, title) => new Text(title)).toList(), ), ), ),
Итак, как я могу правильно построить список и вывести его? То, что я хочу вывести внутри текстового виджета, на самом деле является заголовком, датой и днем … но на самом деле перепробовал много способов получить это, ни за что. :)))
Заранее спасибо!
Ответ №1:
вы можете создать базовый класс для своих нужд
class YourObject {
final String title;
final String day;
final String date;
YourObject({this.title, this.day, this.date});
}
создайте List
из этого класса / объекта
List<YourObject> yourObjectList = [
YourObject(day: "Monday", date: "01.01.2019", title: "Musical Event Austria"),
YourObject(day: "Wednesday", date: "01.01.2019", title: "Musical Event 2"),
];
и вы можете отображать title
, date
и day
подобным образом, или вы можете изменить Container
в соответствии с вашими потребностями / дизайном
return Column(
children: yourObjectList.map((currentObject) {
return Container(
child: Row(
children: <Widget>[
Text(currentObject.title),
Text(currentObject.day),
Text(currentObject.date),
],
),
);
}).toList(),
);
Комментарии:
1. Спасибо, сэр! Сработало как по волшебству. :)))