react-native 獲取某一元素的絕對位置(相對于屏幕左上角)

DOM結(jié)構(gòu):

<View style={styles.checkContainer} ?ref='checkContainer' onLayout={({nativeEvent:e})=>this.layout(e)}>?

</View>

對應js方法:

layout=(e)=>{

? ? ? console.warn(e.layout.y)? ;

? ? ? var UIManager = require('UIManager');

? ? ? console.warn(e.target);

? ? ? UIManager.measure(e.target, (x, y, width, height, left, top) => {

? ? ?console.warn('x:'+x)

? ? ?console.warn('y:'+y)

? ? ?console.warn('width:'+width)

? ? ?console.warn('height:'+height)

? ? ?console.warn('left:'+left)

? ? ?console.warn('top:'+top)

})

}


注意:View組件的onLayout(可以得到寬高和相對位置)配合UIManager.measure(可以得到寬高和絕對位置)一起使用


附加知識點:

得到某一dom元素的節(jié)點值:

import {findNodeHandle} from 'react-native';

var nodeData = findNodeHandle(this.refs.name);

nodeData即為節(jié)點值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容