Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Reactjs 语义UI React下拉列表未设置onChange:React+;打字稿_Reactjs_Typescript_Semantic Ui React - Fatal编程技术网

Reactjs 语义UI React下拉列表未设置onChange:React+;打字稿

Reactjs 语义UI React下拉列表未设置onChange:React+;打字稿,reactjs,typescript,semantic-ui-react,Reactjs,Typescript,Semantic Ui React,我正在实现一个语义ui react下拉列表,无法在更改事件上设置此下拉列表的值 我们将不胜感激 //options object const options = [ {name: "val1" , label: "val1"}, {name: "val2" , label: "val2"}, {name: "val3" , label: "val3"} ] this.state= {location: ''} //state object //onchange event d

我正在实现一个语义ui react下拉列表,无法在更改事件上设置此下拉列表的值

我们将不胜感激

//options object
const options =  [
  {name: "val1" , label: "val1"},
  {name: "val2" , label: "val2"},
  {name: "val3" , label: "val3"}
]

this.state= {location: ''} //state object


//onchange event
dropdownChange = (event: React.SyntheticEvent<HTMLElement>, data:any) => {
    this.setState({[data.name]:data.value})
}

//select component
<Select options={options}
  name="location"  
  value={this.state.location}
  onChange={this.dropdownChange}
/>
//选项对象
常量选项=[
{名称:“val1”,标签:“val1”},
{名称:“val2”,标签:“val2”},
{名称:“val3”,标签:“val3”}
]
this.state={location:'}//state对象
//变更事件
dropdownChange=(事件:React.SyntheticEvent,数据:any)=>{
this.setState({[data.name]:data.value})
}
//选择组件

编辑:您需要向数据数组添加一个

看看他们在示例中是如何生成数据的:

const countryOptions = _.map(faker.definitions.address.country, country => ({
  key: country,
  text: country,
  value: country
}));

旧答案:
onChange
处理程序()

我想您应该在状态中填充
location
键:

dropdownChange = (event: React.SyntheticEvent<HTMLElement>, data:any) => {
    this.setState({location: data.value})
}
dropdownChange=(事件:React.SyntheticEvent,数据:any)=>{
this.setState({location:data.value})
}

编辑:您需要向数据数组添加一个

看看他们在示例中是如何生成数据的:

const countryOptions = _.map(faker.definitions.address.country, country => ({
  key: country,
  text: country,
  value: country
}));

旧答案:
onChange
处理程序()

我想您应该在状态中填充
location
键:

dropdownChange = (event: React.SyntheticEvent<HTMLElement>, data:any) => {
    this.setState({location: data.value})
}
dropdownChange=(事件:React.SyntheticEvent,数据:any)=>{
this.setState({location:data.value})
}
您可以这样尝试

//onchange event
dropdownChange = (event: React.SyntheticEvent<HTMLElement>, data:any) => {
    this.setState({[event.target.name]:data.value})
}
//onchange事件
dropdownChange=(事件:React.SyntheticEvent,数据:any)=>{
this.setState({[event.target.name]:data.value})
}
您可以这样尝试

//onchange event
dropdownChange = (event: React.SyntheticEvent<HTMLElement>, data:any) => {
    this.setState({[event.target.name]:data.value})
}
//onchange事件
dropdownChange=(事件:React.SyntheticEvent,数据:any)=>{
this.setState({[event.target.name]:data.value})
}

我将其用作一般处理程序,this.setState({[data.name]:data.value});此外,我还能够获取与此数据对象相关的信息,但“value”字段没有获取setI。我忽略了一个明显的问题:您需要在数据数组中添加一个
value
键:)我将其用作一般处理程序,this.setState({[data.name]:data.value});此外,我还可以获取与此数据对象相关的信息,但“value”字段未获取设置我忽略了一个明显的问题:您需要在数据数组中添加一个
value
键:)要获取name属性,问题仅在于数据。value要获取name属性,问题仅在于data.value