Я действительно даже не знаю, как сформулировать вопрос для этой проблемы

#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 .