如何在 Flutter 中禁用 AutoCompleteTextField
How to Disable a AutoCompleteTextField in Flutter
我正在开发一个 Flutter 应用程序,其中包含一个 AutoCompleteTextField。我想在插入模式下启用它并在更新模式下禁用它。我该怎么做?
这是我的 AutoCompleteTextField 代码。它工作得很好,但我想在更新模式下或基于任何条件禁用它。
Expanded(
child: AutoCompleteTextField(
controller: input_controller,
suggestions: input_list,
clearOnSubmit: false,
decoration: new InputDecoration(
contentPadding:EdgeInsets.fromLTRB(10,0,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(...)
),
我正在开发一个 Flutter 应用程序,其中包含一个 AutoCompleteTextField。我想在插入模式下启用它并在更新模式下禁用它。我该怎么做? 这是我的 AutoCompleteTextField 代码。它工作得很好,但我想在更新模式下或基于任何条件禁用它。
Expanded(
child: AutoCompleteTextField(
controller: input_controller,
suggestions: input_list,
clearOnSubmit: false,
decoration: new InputDecoration(
contentPadding:EdgeInsets.fromLTRB(10,0,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(...)
),