【发布时间】:2019-03-09 07:28:46
【问题描述】:
我的项目中的省搜索功能,但现在我正在使用输入省的名称,现在我想在 React-native 中使用 Picker 从用户选择的值中设置状态。我如何从用户选择的值中设置状态来自 Picker?
我的搜索函数和构造函数。
constructor(props) {
super(props);
this.state = {
currentCity: "Phuket",
searchText: ""
};
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit(event) {
event.preventDefault();
const { searchText } = this.state;
this.refs.modal3.close();
this.setState({ currentCity: searchText });
}
我的搜索框和选择器。
<TextInput
placeholder="City name"
ref={el => (this.element = el)}
style={styles.textInput}
value={this.state.searchText}
onChangeText={searchText => this.setState({ searchText })}
/>
<View>
<Button style={styles.btn} onPress={this.handleSubmit}>
<Text style={styles.submitText}>Submit</Text>
</Button>
</View>
{//Dropdown Picker
}
<Picker
selectedValue={this.state.language}
style={{ height: 50, width: 200 }}
onValueChange={(itemValue, itemIndex) =>
this.setState({ language: itemValue })
}
>
<Picker.Item label="Amnat Charoen" value="1906689" />
<Picker.Item label="Ang Thong" value="1621034" />
<Picker.Item label="Bangkok" value="1609350" />
【问题讨论】:
-
你似乎已经这样做了
onValueChange={(itemValue, itemIndex) => this.setState({ language: itemValue }) }也可以是reactjs或react-native不要同时使用这两个标签。 -
我只是从 React-native 的文档中复制这部分代码我不知道如何正确使用它,请您建议我。如果我想在用户选择时关闭选择器的表单,我该如何在 Picker 中使用 handleSubmit?
标签: javascript react-native picker setstate