【发布时间】:2022-10-24 10:37:28
【问题描述】:
在我的反应钩子选择下拉菜单中,默认值不显示。在页面加载时,我想在下拉列表中显示 Select Position。
有人可以告知为什么它不显示默认值吗?
代码沙箱链接: https://codesandbox.io/s/sad-diffie-kx9h49?file=/src/App.js:0-991
import "./styles.css";
import React, { useEffect, useState } from "react";
export default function App() {
const [defaultValue, setDefaultValue] = useState("Select Position");
const [positionType, setPositionType] = useState([
"Goal Keeper",
"Striker",
"Attacking Midfielder",
"Right Midfielder",
"Defending Midfielder",
"Left Midfielder",
"Center Back",
"Right Fullback",
"Left Fullback"
]);
useEffect(() => {
setDefaultValue(defaultValue);
}, []);
const handlePositionTypeChange = (e) =>
console.log(positionType[e.target.value]);
return (
<div className="App">
<label>Position</label>
<select
defaultValue={defaultValue}
onChange={(e) => handlePositionTypeChange(e)}
key={defaultValue}
className="browser-default custom-select"
>
{positionType.map((position, key) => (
<option value={key}>{position}</option>
))}
</select>
</div>
);
}
【问题讨论】:
-
选项值应分配一个位置而不是键,因为键仅给出索引。您可以查看我的以下答案
标签: javascript reactjs