gpt4 book ai didi

javascript - 如何在 expo 中以编程方式启用/禁用 textinput?

转载 作者:行者123 更新时间:2023-11-28 23:29:51 25 4
gpt4 key购买 nike

问题是我正在尝试使用

启用/禁用表单中的字段

我已尝试按照本教程中的步骤进行操作

https://dev.to/skptricks/react-native-enable-and-disable-textinput-programmatically-1b99

这是我到目前为止所要做的


onPressButton = () => {
this.setState({ TextInputDisableStatus: false })
}

<TextInput
label="Name"
placeholder="Colin Molony"
autoCapitalize="none"
keyboardType="default"
keyboardAppearance="default"
returnKeyType="next"
returnKeyLabel="Next"
blurOnSubmit={false}
selectTextOnFocus={true}
style={styles.textInput}
editable={this.state.TextInputDisableHolder}
/>

ProfileScreen.navigationOptions = {
title: 'Profile Page',
headerRight: (
<Ionicons
style={{padding: 15}}
name={Platform.OS === 'ios' ? 'ios-create' : 'md-create'}
size={26}
onPress={this.onPressButton}
/>
),
};

当我单击图标时,出现以下错误 this.setstate 不是函数

最佳答案

我认为存在命名问题。我点击了您的链接,作者初始化了以下状态:

constructor() {  
super();
this.state = { TextInputDisableStatus: true }
}

在 onPress 方法中,您将使用以下内容更新状态:

onPressButton = () => {  
this.setState({ TextInputDisableStatus: false })
}

但是在 TextInput 中,作者和您所指的是

editable={this.state.TextInputDisableHolder}

这可能应该更改为:

editable={this.state.TextInputDisableStatus}

此外您必须更改:

onPressButton()  {  
this.setState({ TextInputDisableStatus: false })
}

和:

<Ionicons
style={{padding: 15}}
name={Platform.OS === 'ios' ? 'ios-create' : 'md-create'}
size={26}
onPress={() => this.onPressButton()}
/>

关于javascript - 如何在 expo 中以编程方式启用/禁用 textinput?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028658/

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