如何找出元素在屏幕上的位置的x,y位置,我正在使用React Native v0.14。我尝试了以下但是它说测量不是一个函数。
componentDidMount() {
setTimeout(this.measurePosition);
},
measurePosition() {
this.refs.q.measure((a, b, width, height, px,py ) => console.log(width))
},
答案 0 :(得分:1)
<强>选项1:强>
您可以使用NativeMethodsMixin。确保您已将mixin添加到班级
var NativeMethodsMixin = require('NativeMethodsMixin')
...
var MyComponent = React.createClass({
mixins: [NativeMethodsMixin]
...
componentDidMount: function(){
this.refs.element.measure((x,y,w,h,pX,pY) => console.log("dets"))
}
选项2
您可以在Views上使用onLayout属性。它适用于大多数组件。
render:function(){
...
<View onLayout = {this.onLayout} />
...
},
onLayout:function(event){
console.log(event.nativeEvent.layout)
}
您将获得x,y,宽度和高度
答案 1 :(得分:-5)