gpt4 book ai didi

reactjs - 具有绝对位置的嵌套 Touchable

转载 作者:行者123 更新时间:2023-12-03 13:17:59 26 4
gpt4 key购买 nike

我需要实现一个界面,其中一个对象是可点击的,但该对象的一个​​区域执行另一个操作,如下所示:

|-----------|
| | | -> clicking on this small area does an action
| ---|
| |
| |
| | -> clicking on this area does another action
| |
|-----------|

我做了一个与此结构类似的实现:

<View> // Container
<Touchable onPress={do X}> // Large area
<Touchable onPress={do Y} style={{position: absolute, top: 0, right: 0}}> // Small area
</View>

问题是小区域永远不会激活 onPress Prop 。该事件始终在大范围内触发。

有人可以帮我解决这个问题吗?

谢谢!

最佳答案

我不确定您是否有任何样式要为小容器显示,但如果没有宽度或高度,它将不会触发,因此请检查以确保您已设置宽度和高度:

smallContainer: {
width: 120, // set this
height:100, // set this
position:'absolute',
top:0,
right:0
}

我已经让你的设置正常工作了 here 。代码也在下面。

https://rnplay.org/apps/StpOXg

'use strict';

var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
TouchableHighlight
} = React;

var SampleApp = React.createClass({
render() {
return (
<View style={styles.container}>
<View style={{flexDirection:'row'}}>
<TouchableHighlight onPress={ () => alert('largeContainer') } style={styles.container1}>
<View><Text>Hello1</Text></View>
</TouchableHighlight>
<TouchableHighlight onPress={ () => alert('smallContainer') } style={styles.container2}>
<View><Text>Hello2</Text></View>
</TouchableHighlight>
</View>
</View>
);
}
});

var styles = StyleSheet.create({
container: {
flex: 1
},
container1: {
width:320,
height:300,
backgroundColor: 'red'
},
container2: {
width: 120,
height:100,
position:'absolute',
backgroundColor: 'green',
top:0,
right:0
}
});

AppRegistry.registerComponent('SampleApp', () => SampleApp);

关于reactjs - 具有绝对位置的嵌套 Touchable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34832755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com