Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 如何在TextFormField的onTap上添加弹出窗口_Flutter_Flutter Web - Fatal编程技术网

Flutter 如何在TextFormField的onTap上添加弹出窗口

Flutter 如何在TextFormField的onTap上添加弹出窗口,flutter,flutter-web,Flutter,Flutter Web,我需要在点击textFormField时显示一个弹出窗口,就像一个下拉按钮一样,但是我需要使用textFormField的控制器,所以我不能用下拉按钮来管理它 我试着这样做 Container( width: 50, child: TextFormField( controller: _ed

我需要在点击textFormField时显示一个弹出窗口,就像一个下拉按钮一样,但是我需要使用textFormField的控制器,所以我不能用下拉按钮来管理它

我试着这样做

                        Container(
                          width: 50,
                          child: TextFormField(
                            controller: _edits1,
                            autofocus: true,
                            textAlign: TextAlign.center,
                            maxLength: 3,
                            decoration: InputDecoration(counterText: ""),
                            style: TextStyle(
                                fontFamily: 'Comfortaa',
                                color: Colors.blueGrey,
                                fontSize: 30),
                            onEditingComplete: () => node.nextFocus(),
                            onTap: () {
                              PopupMenuItem(child: Text('One'));
                              PopupMenuItem(child: Text('Two'));
                            },

                          ),
                        ),
或者类似的东西。 我怎么做?
谢谢

将TextFormField包装到IgnorePointer小部件中

Container(
  child: IgnorePointer(
    child: TextFormField(),
  ),
),
                                                    
您还可以使用InkWell小部件在TextFormField上执行onTap

InkWell(
 onTap:(){},
  Container(
    child: IgnorePointer(
      child: TextFormField()
    ),
  ),
),

                                             

将TextFormField包装到IgnorePointer小部件中

Container(
  child: IgnorePointer(
    child: TextFormField(),
  ),
),
                                                    
您还可以使用InkWell小部件在TextFormField上执行onTap

InkWell(
 onTap:(){},
  Container(
    child: IgnorePointer(
      child: TextFormField()
    ),
  ),
),

                                             

它似乎不起作用。为什么我要使用IgnorePointerIgnoreInter是为了在单击文本字段时不聚焦文本字段并显示键盘。相反,您可以在TextFormField上的InkWell帮助下使用onTap。您可以将_edits1(您的控制器)的任何值设置为_edits1.text=“your_value”。问题是,当我单击textfield时,不会出现弹出菜单。它似乎不起作用。为什么我要使用IgnorePointerIgnoreInter是为了在单击文本字段时不聚焦文本字段并显示键盘。相反,您可以在TextFormField上的InkWell帮助下使用onTap。您可以将_edits1(您的控制器)的任何值设置为_edits1.text=“your_value”。问题是,当我单击TextField时,不会出现弹出菜单