Как загрузить локальный Json в Flutter DropDown на основе другого выпадающего списка? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть локальный файл json, и на основе названия компании и / или названия филиала мне нужно загрузить их в 2 разных выпадающих списка во Flutter.

1) DropDown компании: Он будет содержать / показывает Список CompanyName с CompanyCode как;

Пример: Компания A (01)

2) DropDown филиала: Он будет содержать / отображать список BranchName с BranchCode на основе выбранной компанииимя как;

Пример: Первая ветвь (0001)

Мой вопрос: я могу загрузить локальный файл Json и добавить на карту, но как я могу добавить в список, чтобы я мог загрузить свыпадающий в Flutter?

{  
   "branch":[  
      {  
         "companyCode”:”01”,
         "companyName”:”Comapmy A”,
         "branchCode”:”0001”,
         "branchName”:”First Branch“
      },
      {  
         "companyCode”:”01",
         "companyName”:”Company A”,
         "branchCode”:”0002”,
         "branchName”:”Second Branch”
      },
      {  
         "companyCode”:”02”,
         "companyName”:”Company B”,
         "branchCode”:”0001”,
         "branchName”:”First Branch”
      }
   ]
}


String jsonCompany = await rootBundle.loadString("packages/capi/company.json");
Map _mapCompnay = jsonDecode(jsonCompany);

1 Ответ

0 голосов
/ 20 декабря 2018

Здесь у вас есть объект json:

Map _mapCompany = jsonDecode(jsonCompany);

Далее, получите массив из branch объекта:

List list = _mapCompany["branch"]; 

и все, теперь вы можете использовать свой список для заполненияВаш DropDown:

        DropdownButton<String>(
                      items:list.map((Map val){
                        return DropdownMenuItem<String>(
                          value: val["companyCode"],
                          child: new Text(val["companyName"]),
                        );
                      }).toList(),
                      ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...