iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue怎么实现仿qq左滑置顶删除组件
  • 760
分享到

vue怎么实现仿qq左滑置顶删除组件

2023-07-04 13:07:40 760人浏览 八月长安
摘要

这篇文章主要讲解了“Vue怎么实现仿qq左滑置顶删除组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现仿qq左滑置顶删除组件”吧!效果图:HTML代码:主要的html代码:&l

这篇文章主要讲解了“Vue怎么实现仿qq左滑置顶删除组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现仿qq左滑置顶删除组件”吧!

效果图:

vue怎么实现仿qq左滑置顶删除组件

HTML代码:

主要的html代码:

<template> <div class="container">  <!-- 头部 -->  <div class="head">   <img class="userinfo-avatar" v-if="userInfo.avatarUrl" :src="userInfo.avatarUrl" background-size="cover"/>   <span class="head-info">消息</span>  </div>  <!-- 搜索 -->  <div class="search">   <input type="search"/>   <span>搜索</span>  </div>  <!-- 内容 -->  <div class="infoAll" v-for="(item,index) in commitInfo" :key="index">   <ul v-if="item.top">    <li @touchstart="touchStart($event)" @touchend="touchEnd($event,index)" :data-type="item.type" >     <div class="imgInfo" @click="recover(index)">      <img :src="item.img">     </div>     <div class="centerInfo">      <div class="name">        <span>{{item.name}}</span>      </div>      <div class="sonName">       <span>{{item.sonName}}</span>       </div>     </div>     <div class="timeInfo" @click="recover(index)">      <div class="time">       <text>{{item.time}}</text>      </div>      <div class="infoNum" >        <text >{{item.infoNum}}</text>       </div>     </div>     <div class="top" @click="top(index)" >      取消置顶     </div>    </li>    </ul>  </div>  <div class="infoAll" v-for="(item,index) in commitInfo" :key="index">   <!-- {{item.img}} -->   <ul v-if="!item.top">    <li @touchstart="touchStart($event)" @touchend="touchEnd($event,index)" :data-type="item.type">     <div class="imgInfo" @click="recover(index)">      <img :src="item.img">     </div>     <div class="centerInfo">      <div class="name">        <span>{{item.name}}</span>      </div>      <div class="sonName">       <span>{{item.sonName}}</span>       </div>     </div>     <div class="timeInfo" @click="recover(index)">      <div class="time">       <text>{{item.time}}</text>      </div>      <div class="infoNum" >        <text >{{item.infoNum}}</text>       </div>     </div>     <div class="top" @click="top(index)">      置顶     </div>     <div class="delect" @click="delect(index)">      删除     </div>    </li>    </ul>  </div> </div></template>

CSS代码:

// 头部*{  margin:0px;  padding: 0px;}.head {  width: 100%;  height:130rpx;  background-color: #38A7FA;  margin-top:-195rpx;  display: flex;  align-items: center;  .head-info{    color: #fff;    font-size:30rpx;    margin-left: 30%;    margin-top:20rpx;    letter-spacing: 4rpx;   }   .userinfo-avatar {    width: 80rpx;    height: 80rpx;    margin: 20rpx;    border-radius: 50%;    margin-top:30rpx;   } } .search{   width: 90%;   margin-top:20rpx;   margin-bottom: 20rpx;   input{     width: 100%;     height: 20rpx;     background-color: #F3F3F3;     border-radius: 5rpx;     z-index: 0;   }   span{     position: absolute;     color: #B5B5B5;     font-size: 24rpx;     margin-top:-44rpx;     z-index: 999;     margin-left: 42%;     text-align: center;   } } .infoAll{   width: 100%;   ul{    width: 100%;    // overflow-x: scroll;     li{      -WEBkit-transition: all 0.2s;      transition: all 0.2s;       width: 1100rpx;       height: 150rpx;      //  background-color: red;       line-height: 150rpx;       border-bottom: 1px solid #E0EEF1;      //  垂直居中, // 子div水平排列       display:flex;      //  justify-content:center;       align-items:center;       .imgInfo{        width: 100rpx;        height: 100rpx;        border-radius: 50%;        background-color: #38A7FA;        margin-left: 2%;        img{          width: 100rpx;          height: 100rpx;          border-radius: 50%;          overflow: hidden;        }       }       .centerInfo{        width: 40%;        height: 150rpx;        margin-left: 2%;        .name{          margin-top:-20rpx;          span{            font-size: 35rpx;          }        }        .sonName{          margin-top:-110rpx;          span{            font-size: 24rpx;            color: #7C8489;          }        }       }       .timeInfo{        width: 15%;        height: 150rpx;        margin-left: 6%;        .time{          margin-top:-20rpx;          color: #92A0A1;          font-size: 25rpx;          position: absolute;        }        .infoNum{          width:50rpx;          display:flex;          align-items:center;          justify-content:center;          height: 30rpx;          border-radius: 10rpx;          background-color: #93D5ED;          margin-left: 10rpx;          margin-top: 70rpx;        }       }       .top{         width: 15%;         height: 150rpx;         background-color: #C4C7CD;         color: #fff;         font-size: 34rpx;         text-align:center       }       .delect{        width: 15%;        height: 150rpx;        background-color: #FF3B32;        color: #fff;        font-size: 34rpx;        text-align:center       }     }   } }li[data-type="0"]{  transfORM: translate3d(0,0,0);}li[data-type="1"]{  transform: translate3d(-400rpx,0,0);}

js主要代码:

<script>import card from '@/components/card'export default { data () {  return {   userInfo: {},   commitInfo:[    {     img:"Http://img3.imgtn.bdimg.com/it/u=3067730600,935028889&fm=27&gp=0.jpg",     name:"旺财",     sonName:"今晚去吃饭吗?",     time:"19:08",     infoNum:"9",     top:false,     type:0    },    {     img:"http://img1.imgtn.bdimg.com/it/u=1257196754,3171363795&fm=27&gp=0.jpg",     name:"前端学习群",     sonName:"hanber:异步与同步的问题",     time:"02:08",     infoNum:"99+",     top:false,     type:0    },    {     img:"https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1672209094,624238697&fm=27&gp=0.jpg",     name:"小学同学",     sonName:"好久不见,最近好吗?",     time:"02:08",     infoNum:"9",     top:false,     type:0    },     {     img:"https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1312347818,1612941824&fm=200&gp=0.jpg",     name:"老妈",     sonName:"啥时候回家一趟呀?",     time:"23:08",     infoNum:"1",     top:false,     type:0    },    {     img:"http://img2.imgtn.bdimg.com/it/u=1093392508,3329264726&fm=27&gp=0.jpg",     name:"AD动漫群",     sonName:"ghost:《你的名字》求资源",     time:"02:08",     infoNum:"99+",     top:false,     type:0    }   ]  } }, components: {  card }, methods: { // 滑动开始  touchStart(e){   // 获取移动距离,可以通过打印出e,然后分析e的值得出    this.startX = e.mp.changedTouches[0].clientX;  },  // 滑动结束  touchEnd(e,index){    // 获取移动距离    this.endX = e.mp.changedTouches[0].clientX;     if(this.startX-this.endX > 10){      for(let i=0;i<this.commitInfo.length;i++){         this.commitInfo[i].type = 0      }      this.commitInfo[index].type = 1    }    else if(this.startX-this.endX < -10){      for(let i=0;i<this.commitInfo.length;i++){         this.commitInfo[i].type = 0      }    }  },  // 点击回复原状  recover(index){     this.commitInfo[index].type = 0  },  getUserInfo () {   // 调用登录接口   wx.login({    success: () => {     wx.getUserInfo({      success: (res) => {       this.userInfo = res.userInfo      }     })    }   })  },  // 置顶  top(index){   this.commitInfo[index].top = !this.commitInfo[index].top;   this. recover(index);  },  // 删除  delect(index){   this.commitInfo.splice(index,1);  } }, created () {  // 调用应用实例的方法获取全局数据  this.getUserInfo() }}</script>

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

感谢各位的阅读,以上就是“vue怎么实现仿qq左滑置顶删除组件”的内容了,经过本文的学习后,相信大家对vue怎么实现仿qq左滑置顶删除组件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: vue怎么实现仿qq左滑置顶删除组件

本文链接: https://www.lsjlt.com/news/345518.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue怎么实现仿qq左滑置顶删除组件
    这篇文章主要讲解了“vue怎么实现仿qq左滑置顶删除组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现仿qq左滑置顶删除组件”吧!效果图:HTML代码:主要的html代码:&l...
    99+
    2023-07-04
  • mpvue小程序如何实现仿qq左滑置顶删除组件
    小编给大家分享一下mpvue小程序如何实现仿qq左滑置顶删除组件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!效果图:实现:1,上面说过mpvue的坑,比如里面的每一个的元素都是overf...
    99+
    2024-04-02
  • Android仿QQ首页ListView左滑置顶、删除功能
     Android 仿QQ首页ListView左滑置顶、删除等实现源码,具体内容如下效果图实现源码:package com.duguang.baseanimation.ui.listivew.deletelistview; ...
    99+
    2023-05-30
  • Android实现QQ侧滑(删除、置顶等)功能
    实现类似QQ滑动出现可操作项的功能,在网上看到有人自定义LinearLayout实现这个效果,但是灵活性有限。此demo使用开源项目SwipeLayout实现该功能。关于SwipeLayout的常用设置和属性,这里都做介绍,下面进入正题。一...
    99+
    2023-05-30
  • vue怎么实现左滑删除功能
    本篇内容介绍了“vue怎么实现左滑删除功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!左滑删除,很多UI框架里有,比如Mint-UI, M...
    99+
    2023-07-04
  • 使用vue怎么实现左滑编辑与删除
    使用vue怎么实现左滑编辑与删除?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。安装   vue-touch npm insta...
    99+
    2023-06-15
  • 怎么用vue实现顶部左右滑动导航
    这篇“怎么用vue实现顶部左右滑动导航”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用vue实现顶部左右滑动导航”文章吧...
    99+
    2023-07-04
  • vue怎么实现左右滑动选择日期组件
    今天小编给大家分享一下vue怎么实现左右滑动选择日期组件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果图:1、安装day...
    99+
    2023-06-29
  • vue项目实现左滑删除功能(完整代码)
    实现效果 代码如下 html <template> <div> <div class="biggestBox"> &...
    99+
    2024-04-02
  • vue移动端实现左滑编辑与删除的全过程
    前言 根据项目需要使用 Vue-touch 实现了一个vue移动端的左滑编辑和删除功能,废话不多说,先看效果图,然后上代码吧! 方法如下: 第一步:安装 &nb...
    99+
    2024-04-02
  • Vue可左右滑动按钮组组件怎么用
    这篇文章将为大家详细讲解有关Vue可左右滑动按钮组组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下左右两箭头控制按钮组左右移动,双击到最左或最右边,功能比较简单。如下所示<tem...
    99+
    2023-06-29
  • 使用vue怎么实现左右滑动效果
    使用vue怎么实现左右滑动效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。HTML代码<template>    &l...
    99+
    2023-06-15
  • vue怎么实现探探滑动堆叠组件
    这篇文章主要讲解了“vue怎么实现探探滑动堆叠组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现探探滑动堆叠组件”吧!一. 功能分析简单使用下探探会发现,堆叠滑动的功能很简单,...
    99+
    2023-07-04
  • uniapp怎么实现侧滑删除功能
    近年来,移动应用程序的用户体验已经成为了设计师和开发者越来越重视的领域。使用流畅、易于操作的界面成为应用程序赢得用户青睐的关键所在。侧滑删除作为用户体验的一部分,可以使应用程序的操作更加方便,使用户更快速地找到需要的内容,因此在各种应用程序...
    99+
    2023-05-14
  • Vue怎么实现table表格置顶
    这篇文章主要介绍“Vue怎么实现table表格置顶”,在日常操作中,相信很多人在Vue怎么实现table表格置顶问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue怎么实现table表格置顶”的疑惑有所帮助!...
    99+
    2023-06-30
  • jquery怎么实现移动端按钮组左右滑动
    本文小编为大家详细介绍“jquery怎么实现移动端按钮组左右滑动”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery怎么实现移动端按钮组左右滑动”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。学习移动端触摸...
    99+
    2023-06-29
  • vue怎么实现垂直无限滑动日历组件
    这篇文章主要介绍“vue怎么实现垂直无限滑动日历组件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现垂直无限滑动日历组件”文章能帮助大家解决问题。效果组件verticalCalendar...
    99+
    2023-06-30
  • 小程序滑动删除功能怎么实现
    本篇内容主要讲解“小程序滑动删除功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序滑动删除功能怎么实现”吧!小程序滑动删除效果示例  每个列表项绑定touchstart和touch...
    99+
    2023-06-26
  • 纯CSS怎么实现微信小程序仿QQ顶部提示弹框动画效果
    这篇文章将为大家详细讲解有关纯CSS怎么实现微信小程序仿QQ顶部提示弹框动画效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果思路 用css的animation属性做动画代码wxml:<view...
    99+
    2023-06-08
  • vue中怎么实现一个拖拽进度条滑动组件
    这期内容当中小编将会给大家带来有关vue中怎么实现一个拖拽进度条滑动组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。调用组件如下:<slider :mi...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作