Flutter 不能使用AutoCompleteTextField
我想箭头图标出现时,文本字段中有一些文字,否则它应该消失。 如果我使用TextField而不是AutoCompleteTextField,它就可以正常工作。此外,如果我在suffixIcon中删除该条件,即使在那时它也可以正常工作。 请参阅下面的代码Flutter 不能使用AutoCompleteTextField,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我想箭头图标出现时,文本字段中有一些文字,否则它应该消失。 如果我使用TextField而不是AutoCompleteTextField,它就可以正常工作。此外,如果我在suffixIcon中删除该条件,即使在那时它也可以正常工作。 请参阅下面的代码 class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool arrow = false;
var controller = TextEditingController();
@override
void initState() {
super.initState();
controller.addListener(() {
print(controller.text);
setState(() {
controller.text == '' ? arrow = false : arrow = true;
});
});
}
Widget suffixIcon() {
var iconButton = IconButton(
icon: Icon(Icons.arrow_forward),
onPressed: () {},
color: Theme.of(context).primaryColor);
return arrow ? iconButton : null;
// return iconButton;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
AutoCompleteTextField(
controller: controller,
decoration: InputDecoration(
suffixIcon: suffixIcon(),
),
itemSorter: (a, b) {},
suggestions: [],
itemSubmitted: (data) {},
itemFilter: (suggestion, String query) {},
itemBuilder: (BuildContext context, suggestion) {},
key: null,
),
],
),
),
);
}
}
类MyHomePage扩展StatefulWidget{
@凌驾
_MyHomePageState createState()=>\u MyHomePageState();
}
类_MyHomePageState扩展状态{
布尔箭头=假;
var controller=TextEditingController();
@凌驾
void initState(){
super.initState();
controller.addListener(){
打印(controller.text);
设置状态(){
controller.text=''?arrow=false:arrow=true;
});
});
}
Widget-sufficion(){
var iconButton=iconButton(
图标:图标(图标。向前箭头),
按下:(){},
颜色:主题。背景。原色);
返回箭头?图标按钮:空;
//返回图标按钮;
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
自动完成文本字段(
控制器:控制器,
装饰:输入装饰(
suffixIcon:suffixIcon(),
),
物品分类员:(a,b){},
建议:[],
已提交项目:(数据){},
itemFilter:(建议,字符串查询){},
itemBuilder:(构建上下文,建议){},
key:null,
),
],
),
),
);
}
}