Luk*_*vin 7 autocomplete textfield flutter
我正在使用 Flutter 的自动完成功能,但我希望将其显示在 TextField 上方。这可能吗?
这是基本设置:
Autocomplete<String>(
optionsBuilder: (TextEditingValue textEditingValue) {
if (textEditingValue.text == '') {
return const Iterable<String>.empty();
}
if (textEditingValue.text.contains('...')) {
return widget.myBloc.names
.where((String option) {
return option.contains(
textEditingValue.text.toLowerCase());
});
} else {
return const Iterable<String>.empty();
}
},
onSelected: (String selection) {
log('selection -> $selection');
},
optionsMaxHeight: 40,
fieldViewBuilder: (context, controller, focusNode,
onEditingComplete) {
return TextField();
}
)
Run Code Online (Sandbox Code Playgroud)
小智 1
我明白了,但你不会喜欢这个答案......
在 Flutter 库中,在 RawAutocomplete 实现的第 367 行,他们对其对齐方式进行了硬编码,以跟踪TextField. 只有在复制其整个实现并执行以下操作后,我才能规避此问题:
targetAnchor: Alignment.topLeftfollowerAnchor: Alignment.bottomLeftOptionViewsBuilder您决定实施它的任何地方,如材料自动完成实施中所示,更改为alignment: Alignment.bottomLeft。| 归档时间: |
|
| 查看次数: |
1409 次 |
| 最近记录: |