微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未从Flutter中的建议中选择时如何重置TypeAheadFormField的文本?

如何解决未从Flutter中的建议中选择时如何重置TypeAheadFormField的文本?

未从Flutter中的建议中选择时如何重置TypeAheadFormField的文本?

以下是我的代码用户可以在其中选择某些内容,但是如果用户没有选择任何内容而只留下了一些垃圾输入,那么我想重置它。 TypeAheadFormField 失去焦点后如何重设?

TypeAheadFormField(
  textFieldConfiguration: TextFieldConfiguration(
    controller: xC,),suggestionsCallback: (pattern) async {
    List<List<String>> suggestions = List<List<String>>();
    for (int i = 0; i < X.length; i++) {
      if (X[i][LANGUAGE.CURRENT].contains(pattern)) {
        suggestions.add(X[i]);
      }
    }
    return suggestions;
  },itemBuilder: (_,x) {
    return ListTile(
      leading: Container(
        child: Clipoval(
          child: Image.asset(x[2]),title: Text(x[LANGUAGE.CURRENT]),);
  },transitionBuilder: (_,suggestionsBox,ac) => suggestionsBox,onSuggestionSelected: (List<String> suggestion) {
    selectedX = suggestion;
    xC.text = suggestion[LANGUAGE.CURRENT];
  },

解决方法

您可以将focusNode和控制器分配给TypeAheadFormField

focusNode: focusNode,controller: searchController,

,当您想重置它时,可以使用searchController.clear() 如果要删除隐藏键盘,则可以致电 SystemChannels.textInput.invokeMethod('TextInput.hide');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。