флаттер создает виджеты во время выполнения - PullRequest
0 голосов
/ 20 октября 2018

Я хочу создавать формы во флаттере.Но виджеты, которые будут использоваться в форме, не определены заранее.Какие виджеты использовать, будет зависеть от ответа json.Есть ли способ во флаттере создавать виджеты во время выполнения и управлять их состоянием.

json будет выглядеть примерно так:

{  
  id:1,
  Answer: "Click on Register button so that we can get you started",
  Widget:[  
      "google OAuth"
  ],
  ReplyUrl:"www.example.com/api"
}
{
  id:2,
  Widget: [  
     {  
       "Question":"What is your name ?",
       "Type":"text",
       "VariableName":"Onboarding_Name"
     },
     {  
         "Question":"What is your birth date ?",
         "Type":"date",
         "VariableName":"Onboarding_BirthDate"
     }
   ],
   ReplyUrl:"www.example.com/api"
}

1 Ответ

0 голосов
/ 20 октября 2018

скажем, что ваш класс модели Question и вы хотите создать виджет для каждого Question, который есть в вашем списке:

List<Question> Questions;

Вы просто сопоставляете их:

 Questions.map((question) {
      if question.type == date {
        return DateQuestionWidget(question.title);
      } else if question.type == text {
        return TextQuestionWidget(question.title);
      }
     }
   );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...