Flutter google 在文本表单字段上放置自动完成

Flutter google places autocomplete on text form field

我想要一个带有 flutter google 自动完成的文本表单字段,即当用户 select 的位置时,文本将转到文本表单字段。

我有这样的代码,用户点击文本表单域,点击,打开搜索地址栏,但在 select 输入地址后,文本不显示在文本表单域中。

代码

TextFormField(
                          decoration: textInputDecoration.copyWith(
                            hintText: "Enter Company Address",
                            prefixIcon: Icon(Icons.map),
                          ),
                          onTap: () async {
                            Prediction p = await PlacesAutocomplete.show(
                              context: context,
                              radius: 10000000,
                              types: [],
                              strictbounds: false,
                              apiKey: kGoogleApiKey,
                              mode: Mode.overlay,
                              language: "en",
                              components: [Component(Component.country, "nz")],
                            );
                          },
                          validator: (val) =>
                              val.isEmpty ? 'Enter address' : null,
                          onChanged: (val) async {
                            setState(() => address = val);
                          },
                        ),

首先,您必须创建一个 TextEditingController _place = TextEditingController()

然后,当结果从 API 返回时,例如 components[0], 您将此 String 值分配给 `controller.

_place.text = result。它甚至会在不使用 setState 的情况下更改 UI。