Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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
Javascript 选择不识别默认值_Javascript_Reactjs_React Select - Fatal编程技术网

Javascript 选择不识别默认值

Javascript 选择不识别默认值,javascript,reactjs,react-select,Javascript,Reactjs,React Select,我有一个react select组件无法识别默认值选项。 代码如下所示: renderPlans(){ if(this.props.plans){ let list = this.props.plans.map(item=>{ return ({label:item.description, value:item.id}) }); return(

我有一个react select组件无法识别默认值选项。 代码如下所示:

renderPlans(){
        if(this.props.plans){
            let list =  this.props.plans.map(item=>{
                return ({label:item.description, value:item.id})
            });

            return(
                <Select
                    name= "tile-plans"
                    value= {this.state.selected}
                    classNamePrefix='react-select-container'
                    options={list}
                    defaultValue={list[0]}
                    onChange={(e) => { e ? this.setState({selected: e.value}) : this.setState({selected: ''}) }}
                />
            )
        }
    }
renderPlans(){
如果(本道具计划){
let list=this.props.plans.map(项=>{
返回({label:item.description,value:item.id})
});
返回(
{e?this.setState({selected:e.value}):this.setState({selected:'})}
/>
)
}
}
从我在它的文档中所能找到的一切来看,这就是它的格式。基本上,我只希望第一个选项始终是默认选项,因为有时只有一个选项,而有人需要选择下拉列表是没有意义的。我还有一个正在加载的图形,所以如果选择了一个选项,图形将不会加载

这不是一个重复的问题,因为我知道你可以这样做:
value={this.state.selected?this.state.selected:列表[0].label}

但它不起作用。加载时输入仍然为空。

文档说明“如果您不提供这些道具,您可以设置它们控制的状态的初始值”,其中引用了您提供的

当创建组件时,可以将所选的
设置为
列表中的第一个元素

示例

class App extends React.Component {
  state = {
    selected: this.props.list[0]
  };

  handleChange = selected => {
    this.setState({ selected });
  };

  render() {
    const { selected } = this.state;

    return (
      <Select
        value={selected}
        onChange={this.handleChange}
        options={this.props.list}
      />
    );
  }
}

ReactDOM.render(
  <App
    list={[
      { value: "chocolate", label: "Chocolate" },
      { value: "strawberry", label: "Strawberry" },
      { value: "vanilla", label: "Vanilla" }
    ]}
  />,
  document.getElementById("root")
);
类应用程序扩展了React.Component{
状态={
已选:此.props.list[0]
};
handleChange=已选择=>{
this.setState({selected});
};
render(){
const{selected}=this.state;
返回(
);
}
}
ReactDOM.render(
,
document.getElementById(“根”)
);

可能重复的问题与该问题不同。我并不是想弄清楚如何在values部分或占位符数据中放置静态字符串。我需要第一个选项的初始选择。我认为您需要
this.setState({selected:selectedOption})。演示不允许显示更改otherwise@charlietfl谢谢。我试着聪明地匹配变量名,但忘记了其中一个。我全心全意地理解为什么这应该起作用,并且与mod一起在沙盒中起作用。但不是在实际代码中。我甚至尝试了最小值={“hi”}来看看它是否会吐出来,但我仍然在加载时选择中得到一个“选择…”占位符文本。@KyleT您能创建一个隔离您所经历的错误行为的占位符吗?这样会更容易帮助您。在沙盒中使用您的代码,并能够找到答案。谢谢Thole,你今天是个救命恩人。