首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在react中单击时,切换多个div列表中仅一个div的下拉列表

在React中,切换多个div列表中仅一个div的下拉列表可以通过使用状态管理来实现。以下是一个示例代码:

代码语言:txt
复制
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官方文档

请注意,以上只是一个简单的示例,实际项目中可能需要更多的逻辑和组件结构来实现复杂的下拉列表功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券