Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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 修改下拉选择器的handleChange函数_Javascript_Reactjs_React Props - Fatal编程技术网

Javascript 修改下拉选择器的handleChange函数

Javascript 修改下拉选择器的handleChange函数,javascript,reactjs,react-props,Javascript,Reactjs,React Props,我是新的反应,我想设计一个下拉选择器,有一个handleChange功能供以后使用 const Countries = [ { label: "Albania", value: 355 }, { label: "Argentina", value: 54 }, { label: "Austria", value: 43 }, { label: "Cocos Islands", value: 61 }, { label: "Kuwait", value: 965 }, {

我是新的反应,我想设计一个下拉选择器,有一个handleChange功能供以后使用

const Countries = [
  { label: "Albania", value: 355 },
  { label: "Argentina", value: 54 },
  { label: "Austria", value: 43 },
  { label: "Cocos Islands", value: 61 },
  { label: "Kuwait", value: 965 },
  { label: "Sweden", value: 46 },
  { label: "Venezuela", value: 58 }
];

handleChange = input => e => {
  this.setState({ [input]: e.target.value }); 
}

<Select placeholder='Select Location'onChange={handleChange('Location')} defaultValue={values.Location} required options={Countries} />
const国家=[
{标签:“阿尔巴尼亚”,值:355},
{标签:“阿根廷”,价值:54},
{标签:“奥地利”,价值:43},
{标签:“科科斯群岛”,价值:61},
{标签:“科威特”,价值:965},
{标签:“瑞典”,价值:46},
{标签:“委内瑞拉”,价值:58}
];
handleChange=input=>e=>{
this.setState({[input]:e.target.value});
}

此handleChange函数适用于文本字段和输入,但与此下拉版本不匹配。我应该如何实现与此下拉列表匹配的版本?

Select直接为您提供所选值,而不是事件,以便您可以按原样使用它。也可以将默认值设置为
Countries[0]

const Countries = [
  { label: "Albania", value: 355 },
  { label: "Argentina", value: 54 },
  { label: "Austria", value: 43 },
  { label: "Cocos Islands", value: 61 },
  { label: "Kuwait", value: 965 },
  { label: "Sweden", value: 46 },
  { label: "Venezuela", value: 58 }
];

handleChange = input => value => {
  this.setState({ [input]: value }); 
}

<Select placeholder='Select Location'onChange={handleChange('Location')} defaultValue={values.Location} required options={Countries} />
const国家=[
{标签:“阿尔巴尼亚”,值:355},
{标签:“阿根廷”,价值:54},
{标签:“奥地利”,价值:43},
{标签:“科科斯群岛”,价值:61},
{标签:“科威特”,价值:965},
{标签:“瑞典”,价值:46},
{标签:“委内瑞拉”,价值:58}
];
handleChange=input=>value=>{
this.setState({[input]:value});
}

它将设置整个对象,而使用时您可以取出
selectedValue。value

是从'react Select'@shubhamkhattri yesTake中选择的,请在中查看
onChange
。它不会传递事件,但会传递所选选项。我的工作不是解决其他人的错误答案,抱歉:)您是否已完全阅读文档?现在我收到此错误:对象作为React子对象无效(找到:具有键{label,value}的对象)。如果要呈现子对象集合,请改用数组。在下一页中,我想显示{Location},这是一个道具,但我在控制台中收到该错误。无论您在哪里使用Location来呈现,都需要使用Location.label
<Select placeholder='Select Location' onChange={(data) => handleChange(data)} defaultValue={values.Location} required options={Countries} />
handleChange = input => {
 this.setState({ selectedValue: e.target.value }); 
}