首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我点击TextFormField内部的suffixIcon时,防止TextFormField的聚焦

当我点击TextFormField内部的suffixIcon时,防止TextFormField的聚焦
EN

Stack Overflow用户
提问于 2019-10-03 17:14:13
回答 2查看 2K关注 0票数 5

当我按下按钮,TextFormField就会聚焦,键盘就会出现。如何解决这个问题?

代码如下:

代码语言:javascript
复制
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,
          )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-03 18:06:22

你可以像这样使用堆栈。

代码语言:javascript
复制
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'),
    ),
  ],
)

顺便说一句The same question was asked few days ago ..。

票数 6
EN

Stack Overflow用户

发布于 2020-11-17 18:10:19

当你点击你的suffixIcon时使用这个函数。

代码语言:javascript
复制
() {
  // 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
  });
},

示例

代码语言:javascript
复制
TextFormField(
  focusNode: _phoneNumberFocusNode,
  decoration: InputDecoration(
    suffixIcon: IconButton(
      icon: Icon(Icons.contacts),
      onPressed: () {
        Future.delayed(Duration.zero, () {
          _phoneNumberTwoFocusNode.unfocus();
          Navigator.pushNamed(context, 'Contacts');
        });
      },
    ),
  ),
),
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58223974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档