news 2026/3/1 12:07:17

点击【历史对话】按钮时会弹出下拉列表,现在需要增加一个功能:点击页面其他区域时隐藏这个下拉列表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
点击【历史对话】按钮时会弹出下拉列表,现在需要增加一个功能:点击页面其他区域时隐藏这个下拉列表

E:\source\aa2_agent12\ui\app\courses\[id]\page.tsx文件,点击【历史对话】按钮时会弹出下拉列表,现在需要增加一个功能:点击页面其他区域时隐藏这个下拉列表

修改内容总结

1. page.tsx:3

添加了useRef导入:

import React, { useState, useEffect, useRef } from 'react'

2. page.tsx:247-268

添加了 ref 和 useEffect 监听点击事件:

// Ref for history dropdown const historyDropdownRef = useRef<HTMLDivElement>(null) // 点击页面其他区域时关闭历史对话下拉列表 useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if ( historyDropdownRef.current && !historyDropdownRef.current.contains(event.target as Node) ) { setShowHistoryDropdown(false) } } if (showHistoryDropdown) { document.addEventListener('mousedown', handleClickOutside) } return () => { document.removeEventListener('mousedown', handleClickOutside) } }, [showHistoryDropdown])

3. page.tsx:1374

将 ref 绑定到下拉菜单的容器上:

<div className='relative' ref={historyDropdownRef}>

工作原理

  1. 创建了一个historyDropdownRef引用,绑定到包含按钮和下拉列表的容器上
  2. 使用useEffect监听showHistoryDropdown的变化
  3. 当下拉列表显示时,添加mousedown事件监听器
  4. 点击事件触发时,检查点击的目标是否在下拉容器内
  5. 如果点击的是外部区域,就关闭下拉列表
  6. 组件卸载或下拉列表关闭时,移除事件监听器

现在点击页面其他区域时,历史对话下拉列表会自动关闭!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 13:08:45

满足成本与性能双重要求:AWS中为访问私有子网EC2的Lambda实施优化方案

一家公司使用 Amazon EC2 实例和 AWS Lambda 函数来运行其应用程序。该公司在其 AWS 账户中拥有包含公共子网和私有子网的 VPC。EC2 实例在其中一个 VPC 的私有子网中运行。Lambda 函数需要直接网络访问 EC2 实例以使应用程序工作。 该应用程序将运行至少 1 年。公司预计在此期…

作者头像 李华
网站建设 2026/3/2 5:20:43

【数据库】时序数据智能基座:Apache IoTDB 选型与深度实践指南

引言&#xff1a;时序数据处理的新范式 随着工业4.0、智能制造和能源互联网的快速发展&#xff0c;企业面临海量设备产生的高并发、高频率时序数据处理难题。传统架构中“采集—存储—导出—分析”的链路存在数据迁移成本高、实时性差、系统耦合复杂等问题。 Apache IoTDB 作…

作者头像 李华
网站建设 2026/2/28 13:08:42

更新:2025年5月-企业互联网数据中心相关数据

1、数据简介 在数字化转型加速推进的背景下&#xff0c;算力作为新型生产力的核心要素&#xff0c;其部署与利用效率成为衡量企业竞争力的重要指标。许诺等学者&#xff08;2025&#xff09;聚焦于算力部署领域&#xff0c;开展了深入细致的研究&#xff0c;并将研究成果发表于…

作者头像 李华
网站建设 2026/2/28 13:08:39

‌API安全测试最佳实践:构建数字时代的防护壁垒

在当今数字化浪潮中&#xff0c;API&#xff08;应用程序接口&#xff09;已成为软件系统的核心枢纽&#xff0c;承载着80%以上的数据交互。然而&#xff0c;API安全漏洞&#xff08;如数据泄露或未授权访问&#xff09;频发&#xff0c;导致企业年均损失超千万美元。作为软件测…

作者头像 李华
网站建设 2026/2/28 13:08:37

强烈安利8个AI论文网站,专科生毕业论文轻松搞定!

强烈安利8个AI论文网站&#xff0c;专科生毕业论文轻松搞定&#xff01; 专科生论文写作的救星&#xff0c;AI工具如何帮你轻松应对 对于许多专科生来说&#xff0c;毕业论文不仅是学业生涯中的一次重要考验&#xff0c;也是一场与时间、知识和压力的较量。而如今&#xff0c;随…

作者头像 李华