how to make the value of DropDown Button updated?

Viewed 29

so i aim to use a dropDownButton if already i have selected an option i find it selected ( the value is saved in DataBase) and of course it can be modified else if i didn't choose any option i choose . so this is using the attribute value : value: box.read("optioSaved") ?? dropDownValue, but here if the user has already choose a value he can't modified it how can i do ? this is the full code :

child: DropdownButton<String>(
                      icon: const Icon(Icons.keyboard_arrow_down),
                      isExpanded: true,
                      style: const TextStyle(
                        color: Colors.black,
                        fontSize: 17,
                        fontFamily: 'SFProRegular',
                      ),
                      underline: Container(
                        height: 1,
                        color: Colors.black,
                      ),
                      onChanged: (String? newValue) {
                        setState(() {
                          dropDownValue = newValue;
                        });
                      },
                      items: <String>[
                        "option1",
                        "option 2",
                      ].map<DropdownMenuItem<String>>((String value) {
                        return DropdownMenuItem<String>(
                          value: value,
                          child: Text(value),
                        );
                      }).toList(),
                      value: box.read("optioSaved") ?? dropDownValue,
                      hint: const Text("choose"),
                    ),
1 Answers

assign box.read("optioSaved") to dropDownValue in initState and then just value: dropDownValue

Related