【发布时间】:2020-11-20 16:58:42
【问题描述】:
我的 React 应用程序(名为 <Dropdown/>)中有这个组件,里面有一个 <select> 标记。在大多数情况下,一切正常,但每当我选择其中一个选项时,而不是让 <select> 更改并显示选择的选项,它只是默认恢复为原始值。我不知道发生了什么,我们将不胜感激。
import React from "react";
import "./Dropdown.css";
export default function Dropdown(props) {
let flavorTexts = props.data;
return(
<select className="listDrop" onChange={props.onChange}>
{flavorTexts.map((entry) => <option className="listElement" value={{lang: entry.language.name, ver: entry.version.name}}>{entry.language.name} — {entry.version.name}</option>)}
</select>
);
}
import React, { useState } from 'react';
import '../../App.css'
import Dropdown from '../buttons/Dropdown';
function Search() {
const [flavorVersion, setFlavorVersion] = useState({lang: 'en', ver: 'x'});
const versionHandler = (selection) => {
setFlavorVersion(selection);
}
(...)
return (
<>
(...)
{data.description.filter((entry) => entry.language.name === flavorVersion.lang && entry.version.name === flavorVersion.ver).map(entry => <p className="dataEntry">{entry.flavor_text}</p>)}
(...)
<Dropdown data={data.description} onChange={(e) => versionHandler(e.target.value)}/>
</>
)
(...)
【问题讨论】:
-
您应该向我们展示您的 onChange 函数的作用。
-
认为它完成了;)
标签: javascript reactjs