2016-11-23 36 views
0

我想使用選擇器進行性別選擇。但該模式不適用於ios。我不知道在Android。模式在反應當地採摘不工作

<Picker 
    style={{justifyContent: 'center',backgroundColor: 'white'}} 
    selectedValue={this.state.gender} 
    onValueChange={(gender) => this.setState({ gender })} 
    mode='dialog' 
> 
    <Item label="Male" value="Male" /> 
    <Item label="Female" value="Female" /> 
</Picker> 

It will only become something like this

希望任何人都可以給一些建議.. 謝謝

回答

3

<Picker>組件呈現爲iOS上UIPickerView - 這就是你看到那裏。這個選擇器是在原地呈現,而不是以模式呈現(如Android上的情況) - 您指定的mode道具只適用於Android。

有兩種選擇:將拾取​​器渲染到像<Modal>之類的東西中,或完全使用其他組件。

+0

謝謝。我會給因爲我已經嘗試它,但它覆蓋整個屏幕,即使我設置高度再試一次:身高/ 2 –

0

我這樣做就解決了這類問題。

import PickerExample from './PickerExample.js'; 

class Sample extends React.Component { 
constructor(props) { 
    super(props); 
    this.state = {gender: '',}; 
    this.updateGender = this.updateGender.bind(this); 
} 
updateGender(val){ 
    this.setState({ 
gender: val 
},function(){ 
    alert("callback function as your wish") 
}); 
} 
render(){ 
return (
    <PickerExample gender={this.state.gender} updateGender={this.updateGender.bind(this)} /> 
); 
} 

PickerExample.js文件看起來像這樣。

export default PickerExample = (props) => { 
return (
    <Picker selectedValue = {props.gender} onValueChange = {props.updateGender}> 
    <Picker.Item label = "MALE" value ="Male" /> 
    <Picker.Item label = "Female" value = "female" /> 
    </Picker> 
); 

}

+0

謝謝。這似乎也工作(Y) –