Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

点击mask,收起键盘 #25

Closed
wants to merge 1 commit into from

Conversation

pigWhoLikeBacon
Copy link

我使用这个框架来提交一个轻量级的表单,但是点击mask收起menu,却不会收起键盘。
(第一次向别人提交修改,如有错误,请指出,蟹蟹<( ̄︶ ̄)>)

我使用这个框架来提交一个轻量级的表单,但是点击mask收起menu,却不会收起键盘。
(第一次向别人提交修改,如有错误,请指出,蟹蟹<( ̄︶ ̄)>)
@pigWhoLikeBacon
Copy link
Author

pigWhoLikeBacon commented May 23, 2020

想了一下,感觉最好将mask的ontap属性作为可选变量传入,方便用户自定义

@pigWhoLikeBacon pigWhoLikeBacon changed the title 点击mask,会收起键盘 点击mask,收起键盘 May 24, 2020
@GanZhiXiong
Copy link
Owner

你在提交的时候调用FocusScope.of(context).requestFocus(FocusNode());应该就可以收起键盘了吧。
我觉得收起键盘应该交给使用者自己去处理。

@GanZhiXiong
Copy link
Owner

@pigWhoLikeBacon 欢迎一起贡献代码哈!😀

@pigWhoLikeBacon
Copy link
Author

嗯,我加了收起键盘的代码,但是如果用户未提交表单,直接点击弹出框的下方阴影会收起菜单,键盘却会保留在那里。

@pigWhoLikeBacon
Copy link
Author

Widget _mask() {
    if (_isShowMask) {
      return GestureDetector(
        **onTap: () {
          widget.controller.hide();
          FocusScope.of(context).requestFocus(FocusNode());
        },**
        child: Container(
          width: MediaQuery.of(context).size.width,
          height: MediaQuery.of(context).size.height,
          color: widget.maskColor.withOpacity(_maskColorOpacity),
//          color: widget.maskColor,
        ),
      );
    } else {
      return Container(
        height: 0,
      );
    }
  }

将_mask()中的ontap方法传作为参数只是我的建议,我认为这样能让这个特殊的弹出框胜任更多复杂的工作。:blush:

@pigWhoLikeBacon
Copy link
Author

pigWhoLikeBacon commented Jun 2, 2020

慕然回首,发现键盘都自带收起功能,是我考虑不周了,将键盘交给用户操作的确更好一些,感谢回复:grin:

@GanZhiXiong
Copy link
Owner

我明白你的意思了。
下一个版本我会提供下拉菜单展开和折叠回调事件,这样开发者可以在回调里面,去写是否隐藏键盘,这样处理会更好点。

你能想到这些问题很好👍

@GanZhiXiong
Copy link
Owner

最新版本V2.1.0刚刚发布。
已添加下拉菜单展开和折叠回调,你可以在这里处理键盘。
点我查看版本更新记录

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants