#flutter #dart
#flutter #dart
Вопрос:
Я кодирую приложение в flutter, которое следует за деревом решений, чтобы определить, какое насекомое нашел человек. Каков наилучший способ сделать это. На изображении внизу показан простой пример дерева, которому я пытаюсь следовать.
Когда пользователь ответит на первый вопрос, я хотел бы показать следующий вопрос ниже, который будет зависеть от пользовательского ввода. Для справки, у меня могут возникнуть некоторые вопросы, которые не являются простым ответом «да / нет», а разбиваются на три пути (т. Е. 6 ветвей / 8 ветвей / много ветвей)
Я не уверен, как это возможно в flutter, например, когда я помещаю оператор if в каркас следующим образом:.
if (input == "yes") {show widget1}
else if (input == "no") {render widget2}
«Тип элемента’Map<динамический, динамический>’ не может быть назначен типу списка’Widget'»
Я думаю, что то, что я пытаюсь сделать, включает в себя конкурсный рендеринг, и я видел, что это может быть возможно с классом «видимость», но это все равно не кажется лучшим решением. Я был бы признателен за любые предложения или пример кода.
Заранее спасибо.
Ответ №1:
если ваши возможные записи являются двоичными (только два варианта), вы можете использовать троичный вариант следующим образом:
input=='yes'?show widget1:show widget2;
Просто чтобы вы знали: ternary выполняет следующий код? если предыдущее условие истинно, и иначе он выполняет код после :
В случае, если вам нужно отображать и принимать недвоичные решения, вы можете создать метод map или использовать if(condition) show widget
(обратите внимание, что я не использовал фигурные скобки)