Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 反应本机选取器:显示不同的项目列表_React Native_React Native Picker Select - Fatal编程技术网

React native 反应本机选取器:显示不同的项目列表

React native 反应本机选取器:显示不同的项目列表,react-native,react-native-picker-select,React Native,React Native Picker Select,我正在学习使用本地选择器。现在,作为一个例子,我添加了两种用户类型:自由职业者和客户 我想根据所选的用户类型显示不同的选择器项目。目前,我的应用程序会显示所有项目,而不考虑所选的用户类型 例如:如果用户选择了用户类型自由职业者,我想将选取者项目显示为自由职业者1和自由职业者2 而且,如果用户选择了user typeClient,我想将picker项显示为Client 1和Client 2 我是新来的,所以我非常感谢你的帮助 下面提供的代码片段: export default class FrTo

我正在学习使用本地选择器。现在,作为一个例子,我添加了两种用户类型:自由职业者和客户

我想根据所选的
用户类型显示不同的
选择器项目
。目前,我的应用程序会显示所有项目,而不考虑所选的
用户类型

例如:如果用户选择了
用户类型
自由职业者,我想将
选取者项目
显示为自由职业者1和自由职业者2

而且,如果用户选择了
user type
Client,我想将
picker项
显示为Client 1和Client 2

我是新来的,所以我非常感谢你的帮助

下面提供的代码片段:

export default class FrTopUpScreen extends Component {

    constructor(props) {
        super(props);
        this.state = {
            userType: '',
            clientName: '',
            freelancerName: '',
        }
    }
    render() {
        return (
            <View>
                <View style={{ flexDirection: 'row' }}>
                    <Text style={styles.titleStyle}>User Type</Text>
                    <View style={styles.pickerStyle}>
                        {<Picker
                            mode='dropdown'
                            selectedValue={this.state.userType}
                            onValueChange={(itemValue, itemIndex) =>
                                this.setState({ userType: itemValue })
                            }>
                            <Picker.Item label="Select User Type" value="" />
                            <Picker.Item label="Freelancer" value="Freelancer" />
                            <Picker.Item label="Client" value="Client" />
                        </Picker>}
                    </View>
                </View>
                <View style={{ flexDirection: 'row' }}>
                    <Text style={styles.titleStyle}>Name</Text>
                    <View style={styles.pickerStyle}>
                        <Picker
                            mode='dropdown'
                            selectedValue={this.state.name}
                            onValueChange={(itemValue, itemIndex) =>
                                this.setState({ name: itemValue })
                            }>
                            <Picker.Item label="Please Select" value="" />
                            <Picker.Item label="Freelancer 1" value="Freelancer 1" />
                            <Picker.Item label="Freelancer 2" value="Freelancer 2" />
                            <Picker.Item label="Client 1" value="Client 1" />
                            <Picker.Item label="Client 2" value="Client 2" />
                        </Picker>
                    </View>
                </View>
        );
    };
};
导出默认类FrTopUpScreen扩展组件{
建造师(道具){
超级(道具);
此.state={
用户类型:“”,
客户端名称:“”,
自由撰稿人姓名:'',
}
}
render(){
返回(
用户类型
{
this.setState({userType:itemValue})
}>
}
名称
this.setState({name:itemValue})
}>
);
};
};

您应该尝试以下方法:

var pickerItems = ["Freelancer","Client"];
var freelancer =["Freelancer1","Freelancer2"];
var client =["Client1","Client2"];

<Picker
    style={{your_style}}
    mode="dropdown"
    selectedValue={this.state.selected}
    onValueChange={()=>{
     if(selectedValue == Freelancer)
     {
         this.setState({
              pickerItems=this.state.freelancer
         });
     }
     else{
         this.setState({
              pickerItems=this.state.client
         });
     }
   }}>
    {pickerItems.map((item, index) => {
        return (<Picker.Item label={item} value={index} key={index}/>) 
    })}
</Picker>
var pickerItems=[“自由职业者”、“客户”];
自由职业者变量=[“自由职业者1”,“自由职业者2”];
var client=[“Client1”、“Client2”];
{
如果(selectedValue==自由职业者)
{
这是我的国家({
pickerItems=this.state.freegorer
});
}
否则{
这是我的国家({
pickerItems=this.state.client
});
}
}}>
{pickerItems.map((项,索引)=>{
返回()
})}

您必须使用多个选择器来执行soI,我只想根据所选的
用户类型显示不同的
名称
选择器列表。在这种情况下,如果
用户类型
自由职业者
,那么我想用
自由职业者1
自由职业者2
显示选择器。而且,如果
用户类型
客户机
,那么我想用
客户机1
客户机2
显示选择器。关于多个选择器,我不确定。所以当用户选择一个选择器时,您想在同一个选择器中显示不同的选项吗?是的。像这样的,如果可能的话。我试过了,但没用。对不起。我犯了多个错误。现在在这里发布这些错误太过匆忙了。但是谢谢你的建议。