我们如何设置一个弹出窗口,在react native中动态显示平面列表中的按钮(底部或顶部)。即,如果按钮位于平面列表的底部,并且用户单击,则弹出窗口应显示在按钮的顶部,否则显示在底部。
我得到我的平面列表项目的x和y位置,但当我将y传递给我的bouking项目以更改弹出窗口的顶部位置时。弹出窗口与相关项目不在同一y轴上。
<FlatList
data={bookings}
keyExtractor ={(item) => item._id + "-"+ item.nbPersons.toString()}
CellRendererComponent={({item, index}) => {
let Y;
return (
<View
onLayout={(event) => {
var {x, y, width, height} = event.nativeEvent.layout
// if(item.bookingStatus<50){
setYv(y)
console.log("Buoking num => ", index, "x:>", x, "y:>", yv, "book::>", item.bookingStatus, 'width::>', width, 'height::>', height)
// }
}}>
<BookingItem booking={item} cordinateY={yv}/>
</View>
)
}}
/>
这是我的弹出代码:
<Modal
visible={show}
transparent={true}
onRequestClose={() => {
setShow((!show));
}}
>
<View style={{flex:1, top:cordinateY, left:0,}}>
<View style={styles.cardContainer}>
<Pressable onPress={()=>setShow(false)} style={styles.cardBottom}><Text style={styles.cardTextAccepted}>ACCEPTER</Text></Pressable>
<Pressable onPress={()=>setShow(false)} style={styles.cardBottom}><Text style={styles.cardTextRefused}>REFUSER</Text></Pressable>
</View>
</View>
</Modal>
暂无答案!
目前还没有任何答案,快来回答吧!