如何在 Flutter 中禁用 AutoCompleteTextField

问题描述

我正在开发一个包含 AutoCompleteTextField 的 Flutter 应用程序。我想在插入模式下启用它并在更新模式下禁用它。我该怎么做? 这是我的 AutoCompleteTextField 代码。它工作得很好,但我想在更新模式下或基于任何条件禁用它。

                  Expanded(
                    child:  AutoCompleteTextField(
                      controller: input_controller,suggestions: input_list,clearOnSubmit: false,decoration: new Inputdecoration(
                        contentPadding:EdgeInsets.fromLTRB(10,10,0),border: OutlineInputBorder(
                          borderRadius: BorderRadius.all(Radius.circular(10.0)),),hintText: 'INPUT',labelText: 'INPUT',itemFilter: (item,query){
                        return item.toLowerCase().startsWith(query.toLowerCase());
                      },itemSorter: (a,b){
                        return a.compareto(b);
                      },itemSubmitted: (item){
                        input_controller.text = item;
                      },itemBuilder: (context,item){
                        return Container(
                          padding: EdgeInsets.all(20.0),child: Row(
                            children: <Widget>[
                              Text(item),],);
                      },

解决方法

我不确定您如何区分应用程序中的 INSERT 和 UPDATE 模式。但也许你可以找到一种方法来做这样的事情:

Expanded(
  child: isInsertMode 
      ? AutoCompleteTextField(...)
      : TextFormField(...)
),