【发布时间】:2021-11-24 09:32:21
【问题描述】:
我有一个数组,如 [ {code: 'in', name: 'India' }, ...] 用于所有国家/地区,并使用map 将所有国家/地区的下拉列表呈现为option。我想在组件渲染时将 India 设置为默认值,但我总是将 Argentina 作为默认选项,因为它在数组中是第一个。
请建议我实现它的方法。我试图找到答案,但这些都不起作用,或者可能是我做错了什么。这是所需的代码:
export default function NavBar({ setUserSearch, country, setCountry }) {
const handleCountryChange = (e) => {
setCountry({code: e.target.value, name: e.target.innerText})
}
return (
<select className="country_dropdown mx-3 py-1 px-1 text-dark" onChange = {handleCountryChange}>
{countries.map(country => {
return <option value = {country.code} key = {country.code}>{country.name}
</option>
}
)
}
</select>
)
}
【问题讨论】:
-
你在哪里绑定
select的value属性? -
我给值属性一个状态“国家”,默认情况下是“印度”,并在选择任何其他选项时使用“onChange”事件侦听器上的回调函数“handleCountryChange”更改其状态
-
我的意思是实际选择。就像将此表单元素的值绑定到特定的状态属性一样。然后 React 可以有效地使用选项元素上指定的值来确定它是否被自动选择。
标签: reactjs react-functional-component