محسن
6 سال پیش توسط محسن مطرح شد
0 پاسخ

درست کارنکردن دکمه ها در react-native modals

با سلام.من از 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();
    }

مشکل اینه که وقتی تو شبیه ساز اندروید اجراش میکنم درسته ولی وقتی تو گوشی تست میکنم گاهی با یکبار کلیک دکمه اجرا نمیشه و باید چندین مرتبه رو دکمه کلیک شه تا اجرا شه..کسی میتونه راهنمایی کنه؟