#flutter #dart #flutter-layout #flutter-dependencies #flutter-web
#flutter #dart #flutter-layout #flutter-зависимости #flutter-web
Вопрос:
Итак, вот в чем дело, у меня есть класс что-то вроде этого с 81 строкой:
class Dinner{
static String drinks = "Coctail";
static String food1 = "pizza";
static String food2 = "Meat Ball";
static String desserts = "Cake";
..
..
..
..
..
[81 Strings]
}
Пользователь выбирает один элемент из выпадающего списка, в этом выпадающем списке есть все вышеуказанные строки, такие как напитки, еда 1, еда 2, десерты
Теперь мне нужно добавить эти выбранные значения элементов в базу данных, например. если пользователь выбирает «напитки», мне нужно добавить «коктейль» в базу данных.
Мой вызов DB post выглядит примерно так:
await http.post(
body: jsonEncode({
"item": Dinner.drinks,
})
);
здесь, в «Dinner.drinks», напитки будут меняться динамически, потому что, если пользователь выбирает food1, тогда он будет принят как «Dinner.food1»
Это способ динамической вставки данных в соответствии с выбором из выпадающего списка?
Комментарии:
1. Рассмотрено использование Map<String, String> в качестве структуры данных вместо этого массивного
Dinner
класса?2. Спасибо, это сработает, просто простой поворот и творческий подход к мышлению под другим углом. Напишите это как ответ, я приму этот ответ 🙂
Ответ №1:
Похоже, что ваша проблема может быть решена путем переосмысления структуры данных. Я не знаю полного варианта использования этого, но, похоже, это тот случай, когда a Map<String, String>
подойдет (возможно, в сочетании с перечислением в качестве ключа).
Еще одна хорошая вещь Map
заключается в том, что намного проще перебирать все пары ключ-значение с помощью, например yourMap.entries
.