-
Notifications
You must be signed in to change notification settings - Fork 194
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
dialog的zindex和mask的zindex问题 #511
Comments
哦,混了,貌似是bat-ria的问题,用dialog来写loadingbar导致的 @Justineo |
我感觉这个和 loading 提示好像没关系?假设有 ABCD 四个对话框。 A show -> 这样是不是 D 就被更早显示的 C 覆盖了?当然通常情况下 Dialog 打开关闭类似一个栈,不会遇到这个问题。 你现在的问题就是遇到了先打开的 Dialog 先关闭,所以 A 和 B 有相同的 |
@Justineo zindex一样,B在A后面打开,因为在dom结构的关系B覆盖a不会出错,这点是没问题,但是B的mask无法盖住A 跟loadingbar有关系的原因在于loading是随着io自动打开自动关闭的,且A打开的时候loading存在,这时候A的层级是2个dialog计算出来的层级,loading因为io结束关闭后,A的层级不会重写,这时用户在A上打开B,B的层级也是2个dialog算出来的层级 |
@acelan86 我是说不管是不是 loading 提示,都有可能遇到这个问题。只是一般来说先打开的不会先关闭。而不带 modal 层的 Dialog 其实是没有这个限制的。 |
@Justineo 哦,对。没看仔细,只是loading的特殊使用场景导致会有先打开先关闭的情况才遇到这样的问题,有建议的解决方案么? |
是不是可以考虑让所有的 Dialog(或 Modal 层) 都拥有相同的 |
@DDDBear 这里有个啥结论不…… |
#489 |
这样的场景
如果我在一个action里打开一个dialog(暂且叫A),然后A又有操作可以打开另外一个dialog(B),B打开的时候A依然存在
从代码上看,正常情况下这时候算dialog个数来计算zindex是对的
但是如果打开A的时候有网络io操作,这时候存在loadingbar也是用dialog实现的,这时候A的zindex计算是在2个dialog情况下完成的,然后io操作结束了,loadingbar相应删除了或者隐藏了,这时候要打开B,这时候B的zindex计算也是在2个dialog的情况下,所以,A跟B这时候的zindex是一样的。。导致mask的计算也是一样的,情况就是,B的mask根本没法盖在A上
解决方案:
是否可以在计算的时候吧loading不当作dialog,通过skin判断?
然后吧loading默认创建一个很高的mask和zindex
The text was updated successfully, but these errors were encountered: