Функция выполнения вопроса в реагировать родной - PullRequest
0 голосов
/ 07 октября 2019

Дорогие друзья, это мой React Native Согласно:

 renderAccordionContentBasic() {
        const { selectedItem } = this.state;
        return <View>

            <View style={Styles.formPicker}>                
                <Picker
                    selectedValue={this.state.gender}
                    onValueChange={(itemValue, itemIndex) => this.setState({ gender: itemValue })}  style={Styles.pickerText}>                    
                    <Picker.Item label="مرد" value="true" style={Styles.pickerText} />
                    <Picker.Item label="زن" value="false"  style={Styles.pickerText} />
                </Picker>
            </View>
            <View style={Styles.col}>
                <TextInput onChange={(itemValue, itemIndex) => this.setState({ bankName: itemValue })} value={this.state.bankName} style={Styles.textInputHalf} placeholder={'نام بانک'} />
                <TextInput onChange={(itemValue, itemIndex) => this.setState({ bankSheba: itemValue })} value={this.state.bankSheba} style={Styles.textInputHalf} placeholder={'شماره 16 رقمی شبای بانکی'} />
            </View>
            <TextInput style={Styles.textInputMulti} value={this.state.aboutus} onChange={(itemValue, itemIndex) => this.setState({ aboutus: itemValue })} multiline={true} numberOfLines={10} placeholder={'رزومه و سوابق'} />

            <Button style={Styles.btn} **onPress={this.handleBasic(1)}**>
                <Text style={Styles.formBtnText}>{'ذخیره'.toUpperCase()}</Text>
                <Icon active name='content-save' type="MaterialCommunityIcons" style={Styles.formBtnIcon} />
            </Button>
        </View>
    }

, и это моя функция для выполнения при нажатии кнопки:

handleBasic =(id)=>{
        alert(id)

    }

Теперь, когда моя форма (компонент) монтирует handleBasic() выполнить, но когда я нажимаю кнопку handleBasic () не выполняется, пожалуйста, помогите мне

1 Ответ

0 голосов
/ 07 октября 2019

измените ваш onPress на этот

onPress={() => this.handleBasic(1)}

Вызывая вот так onPress={this.handleBasic(1)}, метод handle будет вызываться сразу после рендеринга компонента. Поэтому он не будет вызываться при нажатии кнопки.

Кроме того, не забудьте привязать свой renderAccordionContentBasic() к своему классу. Вы можете сделать это, используя функцию стрелки или .bind(this).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...