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é)點值