React native 当I';m从下拉列表中选择第一个值,对于剩余值,它工作正常

React native 当I';m从下拉列表中选择第一个值,对于剩余值,它工作正常,react-native,react-native-android,picker,react-native-picker-select,React Native,React Native Android,Picker,React Native Picker Select,当我从下拉列表中选择第一个值,然后将第一次设置状态设置为所选值(在本例中,第一个值是从“请选择事件”以外的数据中呈现的动态值),但再次将其设置为null时,这仅发生在下拉列表的第一个值上,对于其余值,它工作正常。 state = { data:[], isLoading: true, eventtitle:'', } componentDidMount = () => { fetch(`${Vars.host}Multif

当我从下拉列表中选择第一个值,然后将第一次设置状态设置为所选值(在本例中,第一个值是从“请选择事件”以外的数据中呈现的动态值),但再次将其设置为null时,这仅发生在下拉列表的第一个值上,对于其余值,它工作正常。

  state = {
      data:[],
      isLoading: true,
      eventtitle:'',
     }


  componentDidMount = () => {
     fetch(`${Vars.host}Multifilter/events?event_title=${this.state.eventtitle}`, {
         method: 'GET'
      })
      .then((response) => response.json())
      .then((responseJson) => {
         this.setState({
            data: responseJson,
            isLoading: false
         })
      })
      .catch((error) => {
         console.error(error);
      });
  }

  multifilter = () => {
      console.log("this.state.eventtitle",this.state.eventtitle);
   fetch(`${Vars.host}Multifilter/events?event_title=${this.state.eventtitle}`, {
         method: 'GET'
    })
    .then((response) => response.json())
    .then((responseJson) => {

         this.setState({
            data: responseJson
         })

      })
      .catch((error) => {
         console.error(error);
    });
  }


render(){
      return (
       <View>
        <Picker 
               selectedValue={this.state.mainevent}
               onValueChange={(itemValue, itemIndex) =>
               this.setState({ mainevent: itemValue },() => {
                   this.multifilter();
               })}>
           <Picker.Item label='Please Select Events' value='' />

             {
                this.uniqueOptions(this.state.data, "main_event").map((name) => {
                   **following line returning event names but when I'm selecting first value then first time setState set the selected value but again it set to null, This is happening only with first value of dropdown**
                   return <Picker.Item label={name} value={name} key={name} />
                 })
             }
           </Picker>
<View>
)
}
状态={
数据:[],
孤岛加载:是的,
eventtitle:“”,
}
componentDidMount=()=>{
fetch(`${Vars.host}多过滤器/events?event_title=${this.state.eventtitle}`{
方法:“获取”
})
.then((response)=>response.json())
.然后((responseJson)=>{
这是我的国家({
资料来源:responseJson,
孤岛加载:false
})
})
.catch((错误)=>{
控制台错误(error);
});
}
多重过滤器=()=>{
log(“this.state.eventtitle”,this.state.eventtitle);
fetch(`${Vars.host}多过滤器/events?event_title=${this.state.eventtitle}`{
方法:“获取”
})
.then((response)=>response.json())
.然后((responseJson)=>{
这是我的国家({
资料来源:responseJson
})
})
.catch((错误)=>{
控制台错误(error);
});
}
render(){
返回(
this.setState({mainevent:itemValue},()=>{
这是multifilter();
})}>
{
this.uniqueOptions(this.state.data,“主事件”).map((名称)=>{
**下一行返回事件名称,但当我选择第一个值,然后选择第一次设置状态,设置所选值,但再次将其设置为null时,仅当第一个值为dropdown时才会发生这种情况**
返回
})
}
)
}

您找到解决方案了吗?我们正在吃同样的东西issue@DaniVillanueva请使用react native searchable下拉列表,而不是picker,这样对android和ios都有好处。抱歉,迟了答复;)你找到解决办法了吗?我们正在吃同样的东西issue@DaniVillanueva请使用react native searchable下拉列表,而不是picker,这样对android和ios都有好处。抱歉,迟了答复;)