Flutter 当我在TextFormField内点击Sufficion时,防止TextFormField聚焦

Flutter 当我在TextFormField内点击Sufficion时,防止TextFormField聚焦,flutter,Flutter,当我按下按钮时,TextFormField将聚焦,键盘将出现。如何解决此问题? 代码如下: TextFormField( controller: code, focusNode: codeFocus, decoration: InputDecoration( labelText: 'verify code', prefixIcon: Icon(Ico

当我按下按钮时,TextFormField将聚焦,键盘将出现。如何解决此问题?
代码如下:

TextFormField(
              controller: code,
              focusNode: codeFocus,
              decoration: InputDecoration(
                labelText: 'verify code',
                prefixIcon: Icon(Icons.sms),
                suffixIcon: FlatButton(
                  onPressed:(){}
                  child: Text('send sms'),
                  textTheme: ButtonTextTheme.primary,
                ),
              ),
              keyboardType: TextInputType.number,
            ),
            focusNode: codeFocus,
          )

您可以像这样使用堆栈

Stack(
  alignment: Alignment.centerRight,
  children: <Widget>[
    TextFormField(
      decoration: InputDecoration(
        labelText: 'verify code',
        prefixIcon: Icon(Icons.sms),
      ),
      keyboardType: TextInputType.number,
    ),
    FlatButton(
      onPressed: () {},
      textTheme: ButtonTextTheme.primary,
      child: Text('send sms'),
    ),
  ],
)
堆栈(
对齐:alignment.centerRight,
儿童:[
TextFormField(
装饰:输入装饰(
labelText:“验证代码”,
前缀:图标(Icons.sms),
),
键盘类型:TextInputType.number,
),
扁平按钮(
按下:(){},
textTheme:buttonexttheme.primary,
子项:文本(“发送短信”),
),
],
)
顺便说一下…

当你点击你的手机时,使用这个功能。 例子
() {
  // This will help to wait for TextField to get focus before
  // we unfocus but it will happen fast so that you won't notice.
  Future.delayed(Duration.zero, () {
    _yourInputFocusNode.unfocus();
    // Your implementation to run when tap suffixIcon in TextField
  });
},
TextFormField(
  focusNode: _phoneNumberFocusNode,
  decoration: InputDecoration(
    suffixIcon: IconButton(
      icon: Icon(Icons.contacts),
      onPressed: () {
        Future.delayed(Duration.zero, () {
          _phoneNumberTwoFocusNode.unfocus();
          Navigator.pushNamed(context, 'Contacts');
        });
      },
    ),
  ),
),