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。
我想要一个带有 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。