You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

970 B

如何监听元素大小变化

广义上讲,FineUI中有两种监听大小变化的方法

BI.Resizers.addBI.ResizeDetector.addResizeListener

严格意义上讲BI.Resizers.add并不算是监听元素大小变化,其底层实现是监听window的resize事件,只有窗口大小改变时候会触发,多用于combo,layer等自动调整位置的组件.

BI.ResizeDetector.addResizeListener则是真实的监听组件元素大小改变,常用于计算动态宽高等场景

注意事项:有添加监听必有取消监听,要注意再组建销毁时移除掉事件监听,有两种形式,一种是在添加监听的方法会返回一个移除当前监听的函数,调用即可.另一种是调用BI.Resizers.removeBI.ResizeDetector.removeResizeListener方法

额外话: BI.ResizeDetector现阶段采用的实现方案是对元素附加一个额外的div,通过监听scroll事件变相实现的. 为了拥抱未来,后续会改成ResizeObserver实现