#flutter #dart
#трепетание #dart
Вопрос:
Привет, я новичок в разработке приложений Flutter, поэтому, пожалуйста, помогите. При первом запуске приложения все работает нормально, но во время выбора значения dorpdown выберите, а затем получите ошибку, используя GridView.count.
ProductsModel values = snapshot.data;
List<Product> results = values.data;
List<List<Inventory>> productList=values.data[index].inventory;
List<Inventory> productInventoryList=productList[0];
child: DropdownButton<Inventory>(
items: productInventoryList.map((proInventory) =>
DropdownMenuItem<Inventory>(
child: Text(proInventory.label " " proInventory.weight),
value: proInventory,
)).toList(),
onChanged: (Inventory value) {
setState(() {
productInventoryDropDown = value;
});
},
isExpanded: false,
value: productInventoryDropDown,
hint: productInventoryList[0].weight == null ? Text('Select Weight') :
Text(productInventoryList[0].label " " productInventoryList[0].weight,
style: TextStyle(color: Colors.black),
),
),
Комментарии:
1. добавить код класса инвентаря
2. дочерний элемент: выпадающая кнопка <Инвентарь> ( элементы: Список продуктов.карта ((Проинвенторий инвентаря) => Выпадающий список <Инвентарь> (дочерний элемент: текст (proInventory.label » » proInventory. вес), значение: proInventory,)).ToList(),OnChanged: (Значение инвентаризации) { setState(() { inList[index] = значение; }); },
3. «инвентарь»: [ { «StoreID»: «5f5c6402db666e253c57866d», «метка»: «1», «вес»: «кг», «цена»: «100», «по умолчанию»: false },]
4. пожалуйста, подскажите мне, что мне делать.
Ответ №1:
ProductsModel values = snapshot.data;
List<Product> results = values.data;
List<List<Inventory>> productList=values.data[index].inventory;
List<Inventory> productInventoryList=productList[0];
productInventoryDropDown=productInventoryList[0]; // this variable must have 1 value of the list because in dart by default there is null value or provide the hintText to `DropdownButton`
child: DropdownButton<Inventory>(
items: productInventoryList.map((proInventory) =>
DropdownMenuItem<Inventory>(
child: Text(proInventory.label " " proInventory.weight),
value: proInventory,
)).toList(),
onChanged: (Inventory value) {
setState(() {
productInventoryDropDown = value;
});
},
isExpanded: false,
value: productInventoryDropDown,
hint: productInventoryList[0].weight == null ? Text('Select Weight') :
Text(productInventoryList[0].label " " productInventoryList[0].weight,
style: TextStyle(color: Colors.black),
),
),
Комментарии:
1. Пожалуйста, не добавляйте «Спасибо» к каждому из ваших сообщений.
2. привет @ChristopherMoore Я просто следую
code of conduct
за командой Google flutter.3. Пожалуйста, следуйте правилам сайта, на котором вы находитесь в данный момент, переполнение стека. Кодекс поведения от команды Google Flutter здесь не применяется. Кроме того, не используйте кодовые блоки для текста, который не является кодом.
4. хорошо, @ChristopherMoore Спасибо за ваши предложения. имейте в виду в следующий раз.
5. Спасибо за ответ, этот код работает, но как использовать в GridView. Текущий выбор определенного одного значения из выпадающего списка влияет на все список одного и того же значения.