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

AtFloatLayout里面的isOpened和onClose属性关联性太强,太耦合 #266

Closed
dreamthen opened this issue Dec 18, 2018 · 5 comments
Closed
Assignees

Comments

@dreamthen
Copy link

重现步骤

不管是否在onClose里面去改变isOpened,都会触发onClose里面的异步代码,这不太合理吧

依赖的版本号

Node --version: v8.12.0
Taro --version: v1.2.0-beta.2
Taro-UI: v1.5.2

预期结果

在onClose里面去改变isOpened,不会触发onClose里面的代码

实际结果

在onClose里面去改变isOpened,确实是会触发onClose里面的代码

相关链接

https://taro-ui.aotu.io/#/docs/floatlayout

@dreamthen
Copy link
Author

写错了,是不在onClose里面去改变isOpened,不触发onClose里面的代码

@SzHeJason
Copy link
Collaborator

你的意思是在用户 自己改变 isOpened 值的时候不应该出发 onClose 事件吗?

@SzHeJason SzHeJason self-assigned this Dec 18, 2018
@dreamthen
Copy link
Author

@SzHeJason 是的,我觉得应该聚焦于isOpened的值而不是onClose事件,假如我在AtFloatLayout内容里面写了一个Button,点击时将isOpened置为false,这时候为啥还要进入onClose事件呢?

@dreamthen
Copy link
Author

@SzHeJason 且假如我的onClose事件里面也有一个将isOpened置为false的操作,这时候会造成死循环,会无限的进入onClose事件里面

@SzHeJason
Copy link
Collaborator

嗯 其实都有道理 从 UI 的角度来说你的确是 close 了这个组件,所以触发 onClose 无可厚非 主要是这个改动在不同的使用者看来都是可以解释的 但是我也觉得你这个逻辑比较好 会在下个版本修复

jimczj added a commit that referenced this issue Dec 19, 2018
* 'dev' of github.com:nervjs/taro-ui:
  fix(FloatLayout): 暂时屏蔽 onClose 回应问题 close #266
  fix(SwipeAction): 处理 SwipeAction 的一些问题 close #225
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

No branches or pull requests

2 participants