在React中,切换多个div列表中仅一个div的下拉列表可以通过使用状态管理来实现。以下是一个示例代码:
import React, { useState } from 'react';
const DropdownList = () => {
const [selectedDiv, setSelectedDiv] = useState(null);
const handleDropdownClick = (divId) => {
setSelectedDiv(divId === selectedDiv ? null : divId);
};
return (
<div>
<div className={`dropdown ${selectedDiv === 'div1' ? 'active' : ''}`}>
<button onClick={() => handleDropdownClick('div1')}>
Div 1
</button>
<div className="dropdown-content">
{/* Dropdown content for Div 1 */}
</div>
</div>
<div className={`dropdown ${selectedDiv === 'div2' ? 'active' : ''}`}>
<button onClick={() => handleDropdownClick('div2')}>
Div 2
</button>
<div className="dropdown-content">
{/* Dropdown content for Div 2 */}
</div>
</div>
<div className={`dropdown ${selectedDiv === 'div3' ? 'active' : ''}`}>
<button onClick={() => handleDropdownClick('div3')}>
Div 3
</button>
<div className="dropdown-content">
{/* Dropdown content for Div 3 */}
</div>
</div>
</div>
);
};
export default DropdownList;
上述代码中,我们通过使用React的useState
来创建selectedDiv
状态,用于跟踪当前被选中的div。当用户单击按钮时,我们调用handleDropdownClick
函数,将被点击的div的ID作为参数传递进去。在handleDropdownClick
函数中,我们根据传入的divID来判断当前的选中状态,如果与selectedDiv
相同,则将selectedDiv
设为null
,否则设为传入的divID。
在返回的JSX中,我们为每个div元素添加了active
类来表示当前选中的div。当selectedDiv
与div的ID相同时,将添加active
类,否则移除该类。
你可以根据需要修改dropdown-content
的内容以适应不同的下拉列表内容。
关于React中的状态管理和条件渲染的更多信息,你可以参考腾讯云的云开发官方文档:React官方文档。
请注意,以上只是一个简单的示例,实际项目中可能需要更多的逻辑和组件结构来实现复杂的下拉列表功能。
领取专属 10元无门槛券
手把手带您无忧上云