флаттер - как сделать случайную последовательность / порядок виджетов - PullRequest
0 голосов
/ 04 октября 2019

Допустим, у меня есть виджет ниже:

ListView(
   physics: NeverScrollableScrollPhysics(),
   shrinkWrap: true,
   children: <Widget>[

     this.widgetA();
     this.widgetB();
     this.widgetC();

     this.widgetX();
     this.widgetY();
     this.widgetZ();

   ]
)

Есть ли способ случайного выбора порядка виджетов X, Y и Z, поэтому порядок будет Y, Z, X или Z, X,Y, в то время как виджеты A, B, C остаются прежними (без случайных значений).

Возможно ли это?

=== Обновление

Что означает это предупреждение?

enter image description here

in ...randomOrderedWidgets,

1 Ответ

1 голос
/ 04 октября 2019

Это не имеет ничего общего с Флаттером, а скорее с Дартом. Вы можете создать новый список с именами randomOrderedWidgets, shuffle it, а затем использовать оператор распространения или объединение списков, чтобы включить его как часть ListView children.

final randomOrderedWidgets = [
    this.widgetX(),
    this.widgetY(),
    this.widgetZ()
];
randomOrderedWidgets.shuffle();

ListView(
   physics: NeverScrollableScrollPhysics(),
   shrinkWrap: true,
   children: <Widget>[
     this.widgetA(),
     this.widgetB(),
     this.widgetC(),
   ]..addAll(randomOrderedWidgets)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...