Home > Enterprise >  How to change default value of dropdownButton in flutter?
How to change default value of dropdownButton in flutter?

Time:11-02

I`m creating a dropdown button in flutter, but i have a problem when i use dropdown it shows the name of the first item but i want to change it(default value) to categories and idk how to do that, also i tried to use hint(as you see in codes)but it didn't work. here is my codes:

Container(
            height: pageHeight / 15,
            padding: EdgeInsets.all(20),
            child:DropdownButton(
                value: _value,
                items: const [
                  DropdownMenuItem(
                    child: Text("First Item"),
                    value: 1,
                  ),
                  DropdownMenuItem(
                    child: Text("Second Item"),
                    value: 2,
                  ),
                ],
                onChanged: (value) {
                  setState(() {
                    _value = value as int ;
                  });
                },
                hint:Text("Select item")
            ),
          )

enter image description here

I want to change this First Item to categories

CodePudding user response:

Make value nullable. DropdownButton can have null value and while it is null it will show hint widget.

  int? _value;
DropdownButton(
                  value: _value,
                  items: const [
                    DropdownMenuItem(
                      child: Text("First Item"),
                      value: 1,
                    ),
                    DropdownMenuItem(
                      child: Text("Second Item"),
                      value: 2,
                    ),
                  ],
                  onChanged: (value) {
                    setState(() {
                      _value = value as int;
                    });
                  },
                  hint: Text("categories"),
                ),

CodePudding user response:

Just Asign on initState()

selectedDropDownValue = "categories";

Container(
            height: pageHeight / 15,
            padding: EdgeInsets.all(20),
            child:DropdownButton(
                value: _value,
                items: const [
                  DropdownMenuItem(
                    child: Text("First Item"),
                    value: 1,
                  ),
                  DropdownMenuItem(
                    child: Text("Second Item"),
                    value: 2,
                  ),
                ],
                value: selectedDropDownValue, 
                onChanged: (value) {
                  setState(() {
                    selectedDropDownValue = value;
                  });
                },
                hint:Text("Select item")
            ),
          )
  • Related