Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 不能使用AutoCompleteTextField_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 不能使用AutoCompleteTextField

Flutter 不能使用AutoCompleteTextField,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我想箭头图标出现时,文本字段中有一些文字,否则它应该消失。 如果我使用TextField而不是AutoCompleteTextField,它就可以正常工作。此外,如果我在suffixIcon中删除该条件,即使在那时它也可以正常工作。 请参阅下面的代码 class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _

我想箭头图标出现时,文本字段中有一些文字,否则它应该消失。 如果我使用TextField而不是AutoCompleteTextField,它就可以正常工作。此外,如果我在suffixIcon中删除该条件,即使在那时它也可以正常工作。 请参阅下面的代码


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,
),
],
),
),
);
}
}