const [selectedDepartment, setSelectedDepartment] = useState("");
const DepartmentDropdown = () => {
const handleSelectChange = (event) => {
setSelectedDepartment(event.target.value);
};
const handleSubmit = (e) => {
e.preventDefault();
console.log(email);
};
return(
<div>
<label htmlFor="departments">Select a Department:</label>
<select
id="departments"
value={selectedDepartment}
onChange={handleSelectChange}
>
<option value="">--Select a Department--</option>
<option value="ai&ds">AI&DS</option>
<option value="cse">CSE</option>
<option value="ece">ECE</option>
<option value="eee">EEE</option>
<option value="it">IT</option>
<option value="mech">MECH</option>
</select>
{selectedDepartment && <p>You selected: {selectedDepartment}</p>}
</div>)
}
在这里,我有一个疑问,我应该在哪里使用调用函数DepartmentDropdown。如何访问这个下拉菜单。有没有其他最简单的方法来实现这一点。
2条答案
按热度按时间anauzrmj1#
不要在
DepartmentDropdown
组件中创建状态,而是在父组件中创建状态,您将从父组件调用DepartmentDropdown
如代码中所示
handleSelectChange
和selectedDepartment
将作为 prop 传递给DepartmentDropdown
组件现在,在父组件中创建
selectedDepartment
,然后将其传递给DepartmentDropdown
以使其能够显示并创建
handleSelectChange
,然后将其传递给DepartmentDropdown
,以使其能够更新父组件中的selectedDepartment
状态:a0x5cqrl2#
对于React函数组件,您可以使用函数的名称作为JSX中的组件名称,如下所示:
这看起来很奇怪,因为它是一个用作元素名的函数,但这就是JSX的工作方式。