失效主要可能由以下问题导致:
1、元素的父元素的transform属性值不为none时
2、在will-change中指定了任意了的CSS 属性。
此时元素的定位视图以父元素为基础,而不是以整个视图,换言之,该元素fixed属性被降级。
解决办法:(主要是将弹窗放到外层来,这样父元素只会是视图)
1:可以通过祖孙通信解决,把组件放在具有transfrom的元素里,通过传递给子组件的回调函数,来控制弹窗的显示。
2:react的小伙伴们可以通过ReactDOM.createPortal(this.props.children, this._container)方法把弹窗挂载到body上(其他框架也有类似的方法,很多组件弹窗也是这样实现的),第一个参数是需要挂载的元素,第二个参数是挂载在哪个节点上面。