【问题标题】:Flutter Autocomplete with custom value if there is no option如果没有选项,则使用自定义值颤振自动完成
【发布时间】:2021-10-27 11:27:34
【问题描述】:

这里是新手。在过去的几天里,我试图找到一种方法来制作一个自动完成表单,如果没有完全匹配的选项,我们也可以输入自定义值。有什么建议么?谢谢。

Autocomplete<String>(
              optionsBuilder: (TextEditingValue textEditingValue) {
                if (textEditingValue.text == '') {
                  return const Iterable<String>.empty();
                }
                return brandsList.where((String option) {
                  return option.contains(textEditingValue.text.toLowerCase());
                })
                //How can I also return textEditingValue for custom input 
                //if no exact match on brandLists were to found. 
                //and have something like "add lenovo as a new brand".
                ;
              },
              onSelected: (String selection) {
                print('You just selected $selection');
              },
            )

【问题讨论】:

    标签: flutter autocomplete package widget


    【解决方案1】:

    您只需在自动完成中添加 fieldViewBuilder 属性,如下所示:

    fieldViewBuilder: (BuildContext context,
                TextEditingController fieldTextEditingController,
                FocusNode fieldFocusNode,
                VoidCallback onFieldSubmitted) {
              return TextFormField(
                controller: fieldTextEditingController,
                focusNode: fieldFocusNode,
                decoration: InputDecoration(
                  isDense: true,
                  border: const OutlineInputBorder(),
                  fillColor: Colors.white,
                ),                
              );
    

    这可以帮助您拥有 TextField 的控制器并处理您想要输入的信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-19
      • 2012-10-28
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 2021-11-20
      相关资源
      最近更新 更多