私は子ピッカーを持っており、選択した値をその親に渡す必要があります。重要な場合、コンポーネントは異なる.jsファイルにあります。 選択したアイテムの状態を渡すにはどうすればよいですか?Reactネイティブでピッカー値を親コンポーネントに渡す方法
親
<RegionPicker regions={this.props.navigation.state.params.regionsJSON}/>
子:
export default class RegionPicker extends Component {
constructor(props) {
super(props);
this.state = {
selected1: '1',
selected2: '1'
};
}
onValueChange1(value: string) {
this.setState({selected1: value},
()=>{ console.log('new',this.state.selected1)}
);
}
onValueChange2(value: string) {
this.setState({selected2: value},
()=>{ console.log('new',this.state.selected2)}
);
}
render() {
return (
<View>
<Form>
<Item inlineLabel>
<Label style={{fontSize:16}}>Region</Label>
<Picker
iosHeader="Select one"
mode="dropdown"
placeholder='...'
selectedValue={this.state.selected1}
onValueChange={this.onValueChange1.bind(this)}
>
{this.getRegions(this.props.regions).map((item, index) => {
return (<Picker.Item label={item} value={item} key={index}/>)
})}
</Picker>
</Item>
<Item inlineLabel last>
<Label style={{fontSize:16}}>Suburb</Label>
<Picker
iosHeader="Select one"
mode="dropdown"
placeholder='...'
selectedValue={this.state.selected2}
onValueChange={this.onValueChange2.bind(this)}
>
{this.getSuburbs(this.state.selected1).map((item, index) => {
return (<Picker.Item label={item} value={item} key={index}/>)
})}
</Picker>
</Item>
</Form>
</View>
);
}
}
私は任意のヘルプやアイデアをいただければ幸いです。
ありがとう!今は親に渡すと完璧です!申し訳ありませんが私はあなたの答えに投票する評判はあまりありませんが、私はとても感謝しています! – nastassia