Maida Farooqi
Maida Farooqi

Reputation: 51

How to add autofill dropdown in flutter?

I've made a dropdown of cities and city list is coming from API. When user clicks on GPS button, it will auto fill the dropdown field. How should I auto fill the city name in dropdown? I tried by using dropdown inside textfield

TextFormField(
                          controller: city,
                      decoration:InputDecoration(
                         border:InputBorder.none,
                          prefix: DropdownButtonFormField<String>(
                         
                              decoration: InputDecoration.collapsed(
                                  hintText: 'select',
                                  hintStyle: TextStyle(fontSize: 12,color: Colors.grey.shade600),
                                ),
                                value:type,
                                validator: (value) => value == null? 'please select': null,
                                onChanged: (String newValue) {
                                  setState(() {
                                    type = newValue;
                         
                                  });
                                },
                                items: List?.map((item){
                                  return DropdownMenuItem(
                                    onTap: (){
                                      selectedCity=item['city'];
                                      // print(selectedCity);
                                    },
                                    value: item['id'].toString(),
                                    child: Padding(
                                      padding: const EdgeInsets.only(left:15.0,top: 13.0),
                                      child: Text(item['city'],style: TextStyle(fontSize: 12,color: Colors.grey.shade600),),
                                    ),
                                  );
                                })?.toList()??[]
                            ),
                      ),
                      ),

Upvotes: 2

Views: 8544

Answers (1)

AVEbrahimi
AVEbrahimi

Reputation: 19184

You can use ready-made auto-complete packages.

Some examples:

https://pub.dev/packages/autocomplete_textfield

https://pub.dev/packages/dropdownfield

enter image description here

Upvotes: 2

Related Questions