Как установить код страны перед номером телефона с флаттером?

Я пытаюсь поставить код страны перед номером телефона. Я использовал пакетcountry_pickers, но что-то пошло не так с моим кодом, видимость текста подсказки TextField исчезла, он ничего не показывает

вот мой виджет

 Padding(
                      padding: const EdgeInsets.only(top: 5.0),
                        child:  new Container(
                          padding: const EdgeInsets.only(left: 10.0),
                        decoration: BoxDecoration(
                          borderRadius: BorderRadius.all(Radius.circular(5.0)),
                          border: Border.all(color: Colors.blue)
                        ),  
                        child: TextField(

                          keyboardType: TextInputType.phone,
                          decoration: InputDecoration(
                            border: InputBorder.none,
                            hintText: "Phone Number",
                            prefix:  CountryPickerDropdown(
                              initialValue: 'in',
                              itemBuilder: _buildDropdownItem,
                              onValuePicked: (Country country) {
                                print("${country.name}");
                              },
                            ),
                          ),
                          onChanged: (value){
                            this.phoneNo=value;
                          },

                        ),  
                      ),
                    ),

вот метод виджета для кода страны

Widget _buildDropdownItem(Country country) => Container(
        child: Row(
          children: <Widget>[
            CountryPickerUtils.getDefaultFlagImage(country),
            SizedBox(
              width: 8.0,
            ),
            Text("+${country.phoneCode}(${country.isoCode})"),
          ],
        ),
      );

person Shruti Ramnandan Sharma    schedule 12.08.2019    source источник


Ответы (1)


Правильный способ использовать это в виджете Row. Префикс здесь не работает.

           Row(
               children: <Widget>[
                      Expanded(
                        child: CountryPickerDropdown(
                          initialValue: 'in',
                          itemBuilder: _buildDropdownItem,
                          onValuePicked: (Country country) {
                            print("${country.name}");
                          },
                        ),
                      ),
                      Expanded(
                        child: TextField(
                          keyboardType: TextInputType.phone,
                          decoration: InputDecoration(
                            border: InputBorder.none,
                            hintText: "Phone Number",
                          ),
                          onChanged: (value) {
                            // this.phoneNo=value;
                            print(value);
                          },
                        ),
                      ),
                    ],
                  ),
person anmol.majhail    schedule 12.08.2019