在uniapp中实现长按聊天对话框可以弹出对话框然后可以删除该条对话,单击可以进入该条对话框的对话页面

news2024/11/23 22:38:21

效果展示

效果描述

长按【大于1s】某一条对话框会弹出一个对话框,点击确定按钮就可以将当前对话框从列表中进行删除,如果点击取消则不做额外操作。

如果只是点击了一下,时间【小于1s】的情况下会直接引入到与该用户的对话框详情页面。

代码实现

渲染层代码

      <view v-for="(item,index) in dialogList" :key="index" class="m-item" @touchstart="touchstart(item)"
        @touchend="touchend(item)">
        <view class="mi-left">
          <image :src="userId==item.msgSendId? item.msgRevHeadImg:item.msgSendHeadImg" mode="aspectFill"></image>
          <view class="mil-num" v-if="item.readNum!=0">{{item.readNum>99?'99+':item.readNum}}</view>
        </view>
        <view class="mi-right">
          <view class="mir-top">
            <text class="mirt-name danhang">{{item.msgSendName}}</text>
            <text style="color: rgba(16,16,16,0.7);">{{formatTime(item.createTime)}}</text>
          </view>
          <text class="danhang">{{formatType(item.textType,item)}}</text>
        </view>
      </view>

逻辑层代码

  let seconds = ref(0); // 用于跟踪经过的秒数
  let timeoutId = null; // 存储 setTimeout 的 ID
  let hasShownDeleteDialog = false; // 标记是否已弹出删除对话框

  const touchstart = (item) => {
    seconds.value = 0; // 重置秒数
    hasShownDeleteDialog = false; // 重置标记
    timeoutId = setTimeout(() => {
      showDeleteDialog(item);
    }, 1000);
  };

  const touchend = (item) => {
    clearTimeout(timeoutId); // 清除 setTimeout
    if (!hasShownDeleteDialog) {
      handleDetail(item);
    }
    seconds.value = 0; // 重置秒数
  };

  const showDeleteDialog = (item) => {
    hasShownDeleteDialog = true; // 设置标记为已弹出删除对话框
    clearInterval(timeoutId); // 清除 setTimeout
    uni.showModal({
      title: `删除对话框`,
      content: `你确定要删除与【${item.msgSendName}】的对话框吗,删除后将无法恢复!!!`,
      success: function(res) {
        if (res.confirm) {
          console.log('用户点击确定', item);
          http.post(api.removeChatRecord, { revUserId: item.msgRevId, sendUserId: item.msgSendId }).then(
            res => {
              getDialogList();
              uni.showToast({
                icon: "none",
                title: "删除成功"
              })
            }
          );
        } else if (res.cancel) {
          console.log('用户点击取消');
        }
      }
    });
  };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2197887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ai绘画变现方式全解析,教你如何通过AI绘画赚钱

*AI绘画变现方式全解析&#xff0c;教你如何通过AI绘画赚钱* *为什么选择AI绘画&#xff1f;* 你是否曾经梦想过成为一名画家&#xff0c;但现实却让你无从下手? 或者你已经是一位艺术家&#xff0c;但苦于作品没能带来足够的收入&#xff1f;随着AI技术的飞速发展&#xff…

IDEA没有代码自动提示问题的解决

一、问题描述 如图&#xff0c;博主输入new Hash 没有提示出HashMap之类的api 原因在于&#xff1a;不小心打开了idea的省电模式&#xff0c;在这个模式下&#xff0c;idea是不会为我们提供自动提示的 二、问题解决 在File中找到 Power Save Mode选项&#xff0c;将它关闭即…

【西电电路实验】1. 仪器的使用(电子线路 III 电院)

文章目录 前言一、实验原理二、实验过程1. [高频信号源DSG3030 数据手册](https://www.rigol.com/Images/DSG3000_DataSheet_CN_tcm4-3558.pdf)2. [信号源 SDS 2320X 数据手册](https://www.siglent.com/u_file/download/24_05_29/SDS2000X%20HD_Datasheet_CN02A.pdf#:~:textSD…

MySQL多表查询:标量子查询

先看我的emp表结构 emp表 子查询基本语法 select * from t1 where column1 (select column1 from t2);例子1&#xff1a;查询"销售部" 的所有员工信息 这个可以先拆解为两个 a.查询"销售部"的部门ID select id from dept where name 销售部; b. 根…

2024重生之回溯数据结构与算法系列学习(11)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丟脸好嘛?】

欢迎各位彦祖与热巴畅游本人专栏与博客 你的三连是我最大的动力 以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现] 专栏跑道一 ➡️ MYSQL REDIS Advance operation 专栏跑道二➡️ 24 Network Security -LJS ​ ​ ​ 专栏跑道三 ➡️HCIP&#xff1b;H3C-SE;CCIP——…

算法:724.寻找数组的中心下标

题目 链接&#xff1a;leetcode链接 思路分析&#xff08;前缀和&#xff09; 根据题意&#xff0c;我们可以将数组看成三个部分 [left] [mid] [right] 我们只需要[left]区间内的元素和等于[right]区间的元素和即可&#xff0c;此时mid就是中心下标 那么我们可以借助前缀和思…

怎么把录音转换成文字?七大不收费的录音转文字软件推荐,亲测好用!

怎么把录音转换成文字&#xff1f;录音转文字软件是一种可以将音频文件转换成文本的工具&#xff0c;甚至可以在录制音频的同时实时生成文本。音频文件是存储信息的常用方式之一&#xff0c;广泛应用于在线课程、长时间的讲座、商务会议以及产品介绍等场合&#xff0c;音频内容…

ThreadPoolExecutor的源码解析

ThreadPoolExecutor的源码解析 线程池的核心属性 ctl:当前的ctl就是一个int类型的数值,内部是基于AtomicInteger套了一层,进行运算时,是原子性的 ctl表示的线程池的两种核心状态: 线程池的状态: ctl的高3位标识线程池的状态工作线程的状态:ctl的低29位,表示工作线程的个数 pri…

FlagVNE]——用于虚拟网络嵌入的灵活、可通用的强化学习框架

介绍 论文地址&#xff1a;https://arxiv.org/pdf/2404.12633 网络虚拟化&#xff08;NV&#xff09;是一种创新技术&#xff0c;在 5G 网络和云计算等领域日益受到关注。NV 可通过网络切片和共享基础设施在同一物理网络上部署多个用户提交的虚拟网络请求&#xff08;VNR&…

性能测试-JMeter(1)

性能测试工具 主流性能测试工具LoadrunnerJMeter JMeter环境安装JMeter功能概要JDK常用文件目录介绍JMeter元件和组件介绍元件的基本介绍组件的基本介绍 JMeter元件作用域和执行顺序JMeter第一个案例线程组HTTP请求查看结果树 JMeter参数化&#xff08;重点&#xff09;用户定义…

02_InFluxDb

InFluxDb 初始化初始化流程 交互InFluxDbWebUI交互 数据模型行协议添加标签数据格式 数据类型空格索引 初始化 初始化流程 用户 密码 组织名称 Bucket—mysql里面的数据库概念 交互InFluxDb 暂用了8086端口.提供了 http api WebUI交互 略... 数据模型 这是mysql里面的表…

1500元买哪款显卡好?对比一下,差别明显

在游戏过程中&#xff0c;显卡负责渲染游戏画面&#xff0c;将其转化为可视化的图像&#xff0c;并快速显示在屏幕上&#xff0c;确保游戏运行的流畅性和画面的质量。所以对于游戏电脑来说&#xff0c;显卡的重要性尤为突出。虽说在最近几年&#xff0c;显卡市场的“消费升级”…

算法:前缀和算法模版

一维前缀和 题目 链接&#xff1a;一维前缀和模版题 思路分析 一&#xff1a;暴力O(q * N) 对于每一次询问&#xff0c;我们都可以用一个循环计算[l,r]区间内的元素和&#xff0c; 时间复杂度&#xff0c;O(q * N) 每一次计算一个区间都需要去循环一次&#xff0c;这是不是…

2024年中国研究生数学建模什么时候出成绩(附避坑指南)

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 今年的华为杯已经于2024年9月20日——2024年9月25日完成&#xff0c;相信大家下…

40 C 语言结构体:结构体数据类型、结构体变量、访问结构体成员、结构体指针

目录 1 为什么需要结构体 2 什么是结构体 3 声明结构体类型 3.1 语法格式 3.2 案例演示 3.2.1 学生信息结构体 3.2.2 通讯录条目结构体 3.2.3 猫咪结构体 4 声明结构体变量 4.1 什么是结构体变量 4.2 声明结构体变量的常见方式 5 结构体和结构体变量的区别与联系 …

基于STM32的智能鱼缸自动喂食系统设计

引言 本项目设计了一个基于STM32的智能鱼缸自动喂食系统&#xff0c;能够按照预设的时间间隔自动投放饲料&#xff0c;同时监测鱼缸内的水温和光照情况。该系统通过电机控制喂食器的旋转来实现饲料投放&#xff0c;用户还可以通过按键实现手动喂食。该项目展示了STM32在定时控…

Spring Validation —— 参数校验框架

案例说明——后端校验注册表单字段 在编写注册功能时&#xff0c;需要考虑字段校验的情况&#xff0c;这时候可以采用 Spring提供的一套参数校验框架工具——Spring Validation。一下是使用的步骤&#xff1a; 1. 导入validation坐标 2. 在参数上添加 Pattern注解&#xff0c…

单细胞|Signac 进行 Motif 分析

单细胞|Signac 进行 Motif 分析 引言 本教程将指导您如何在Signac平台上进行DNA序列的基序(Motif)分析。会介绍两种基序分析的方法&#xff1a;一种是在一组差异可访问的峰值中寻找出现频率较高的基序&#xff1b;另一种是在不同细胞群组间进行基序活性的差异分析。 library(Si…

simpread-OpenAI推出Canvas:让ChatGPT成为更出色的项目协作者

引言 OpenAI在最新一轮融资中创下了VC融资历史上的记录&#xff0c;与此同时&#xff0c;他们也推出了一项令人瞩目的新功能——Canvas。Canvas是一个专门为项目协作设计的界面&#xff0c;旨在让ChatGPT成为更高效的项目协作者。在现有的ChatGPT应用之外&#xff0c;它打开了…

LC538 - 把二叉搜索树转换为累加树

文章目录 1 题目2 思路3 ACM模式参考 1 题目 https://leetcode.cn/problems/convert-bst-to-greater-tree/description/ 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09; 累加树&#…