با سلام.من از react-native modals استفاده میکنم و تو مدال از چند TouchableOpacity استفاده کردم.
اینم کدشه:
<Modal
visible={this.state.months.show}
modalAnimation={new SlideAnimation({
slideFrom: 'bottom',
})}
onHardwareBackPress={this.show_months}
width={1}
height={1}
onTouchOutside={this.show_months}
modalStyle={{ height: '100%' }}
>
<ModalContent >
<View style={[styles.space_around, styles.mt_2]}>
<ScrollView >
{this.state.months.list != null &&
this.state.months.list.map((item, index) => {
return (
<View key={index} style={[styles.align_center]}>
<TouchableOpacity onPress={() => this.select_month(index)} style={[styles.p_1, styles.pr_2, styles.br_3, styles.bg_blue, styles.mt_2, { width: '80%' }]}>
<Text style={[styles.font_dana, styles.color_white, styles.text_center]}>{item['name']}</Text>
</TouchableOpacity>
</View>
)
})}
</ScrollView>
</View>
</ModalContent>
</Modal>
زمانی که رو TouchableOpacity کلیک میشه باید فانکشن زیر اجرا میشه:
select_month = async (index) => {
let newState = this.state;
newState.months.selected = this.state.months.list[index];
this.setState(newState);
this.show_months();
}
مشکل اینه که وقتی تو شبیه ساز اندروید اجراش میکنم درسته ولی وقتی تو گوشی تست میکنم گاهی با یکبار کلیک دکمه اجرا نمیشه و باید چندین مرتبه رو دکمه کلیک شه تا اجرا شه..کسی میتونه راهنمایی کنه؟
به محسن کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.