iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用vue怎么实现左滑编辑与删除
  • 182
分享到

使用vue怎么实现左滑编辑与删除

2023-06-15 05:06:22 182人浏览 八月长安
摘要

使用Vue怎么实现左滑编辑与删除?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。安装   vue-touch npm insta

使用Vue怎么实现左滑编辑与删除?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

安装   vue-touch 

npm install vue-touch@next --save

main.js 中引入

import VueTouch from 'vue-touch';Vue.use(VueTouch, {  name: 'v-touch'});

使用(用v-touch包住你要左滑删除的内容)

<div class="wrap">      <v-touch                v-on:panstart="onPanStart(key)"        v-on:panmove="onPanMove"        v-on:panend="onPanEnd"        v-for="(item, key) in list"        :key="key"      >  <!-- 下面div这一块是我页面需要左滑删除的项目内容,你可以替换成你自己的 -->        <div class="item df_sb item-p" :>          <p class="left-img">            <img :src="item.image_url" alt>          </p>          <p class="url" v-if="item.redirect_url != '' ">{{item.redirect_url}}</p>          <p class="city nothave" v-else>无</p>          <p class="city">{{item.city}}</p>          <div class="edit-delete df_sad" :ref="'editBtn' + key">            <div class="edit" @click="editFun('edit',item.id,item.image_url,item.redirect_url)">              <img src="../../assets/images/adver/ic_xiugai.png" alt>            </div>            <p class="edit-line"></p>            <div class="ad-delete" @click="deleteFun(key,item.id)">              <img src="../../assets/images/adver/ic_shanchu.png" alt>            </div>          </div>        </div>      </v-touch>    </div>

定义变量,以及方法,下面代码可直接拷贝,将不需要的删除换成自己的,需要的留着就行

<script>import Httpapi from "../../http/httpApi";export default {  name: "",  data() {    return {      swipe: "", // 滑动的样式      wd: 0, // 编辑和删除按钮的宽度之和      swipeWd: 0, // 已经滑动的距离      activeId: "", // 实际是上一次的活动id    //以上四个变量必须保留,下面的三个可以删除      page: 1,      size: 10,      list: []    };  },  methods: {//请求列表数据    getList($state) {      let params = new URLSearchParams();      params.append("page", this.page);      params.append("size", this.size);      this.$post(httpApi.BANNERLIST, params)        .then(res => {          if (res.code == 10000) {            if (res.data) {              this.list = this.list.concat(res.data.list);              this.page++;              if (res.data.list.length === 10) {                $state.loaded();              } else {                $state.complete();              }            } else {              $state.complete();            }          } else {            $state.complete();          }        })        .catch(err => {          console.log(err);        });    },    // 编辑    editFun(type, image_id, image, url) {      this.$router.push({        path: "/issueAdvertising",      });    },    // 删除    deleteFun(index, image_id) {      this.activeId = ""; //将上一次的活动id制空      let params = new URLSearchParams();      params.append("agent_id", this.id);      params.append("image_id", image_id);      this.$post(httpApi.DELETEBANNER, params)        .then(res => {          if (res.code == 10000) {// 虽然请求删除接口删除了列表其中的某一项内容,但是页面上还有//因此需要在本地数组中也删除,这样才完美,下面这行代码比较重要,可以写在你删除接口成功后的地方            this.list.splice(index, 1);             this.modal.toastFun("删除成功");          } else if (res.code == 20000) {            this.modal.toastFun(res.message);          }        })        .catch(err => {});    }, // 以下三个方法全部拷贝,无需修改//滑动位置    onPanStart(id) {      event.preventDefault();      // 获取右侧按钮宽度      let str = "editBtn" + id;      this.wd = 1.2 * this.$refs[str][0].offsetWidth;      // 初始化      if (this.activeId != id) {        this.swipe = "transfORM:translateX(0px)";        this.swipeWd = 0;      }      this.activeId = id;    },//滑动位置    onPanMove(event) {      event.preventDefault();      let deltaX = event.deltaX;      // 组件向左移动直到最大距离      if (deltaX < 0 && deltaX > -this.wd) {        // 向左滑动        this.swipe = "transform:translateX(" + deltaX + "px)";        this.swipeWd = deltaX;      }       if (deltaX > 0 && deltaX <= this.wd && this.swipeWd < 0) {        // 向右滑动        let wx = deltaX + this.swipeWd;        this.swipe = "transform:translateX(" + wx + "px)";      }    }, // 结束位置    onPanEnd(event) {      event.preventDefault();      // 判断向左移动的距离是否大于二分之一      let deltaX = event.deltaX;      if (deltaX < 0) {        if (deltaX <= -this.wd / 2) {          // 向左滑动超过二分之一          this.swipe = "transform:translateX(" + -this.wd + "px)";          this.swipeWd = -this.wd;        } else {          this.swipe = "transform:translateX(0px)";          this.swipeWd = 0;        }      } else {        if (this.swipeWd < 0 && deltaX >= this.wd / 2) {          // 向左滑动超过二分之一          this.swipe = "transform:translateX(0px)";          this.swipeWd = 0;        } else {          this.swipe = "transform:translateX(" + this.swipeWd + "px)";        }      }    }  }, };</script>

style 

我只贴出了上面代码的CSS样式,根据需求自行删减吧,有需要的留着,不需要的删除,需要改变的自行修改

.wrap {  width: 100%;  height: 100%;  overflow: hidden;}.item {  padding-left: 40px;  height: 120px;  background: #ffffff;  align-items: center;  flex-direction: inherit;  .left-img {    width: 120px;    height: 100px;    overflow: hidden;    img {      min-width: 120px;      height: 100px;    }  }}.url {  width: 400px;  padding: 10px 30px 0;  box-sizing: border-box;  Word-wrap: break-word;  text-align: center;  overflow: hidden;  text-overflow: ellipsis;  white-space: nowrap;}.city {  text-align: center;  min-width: 100px;}.item-p {  color: #333333;  font-size: 22px;}.nothave {  color: #999999;}.hint {  height: 40px;  align-items: center;  margin-bottom: 30px;}.line {  width: 250px;  height: 1px;  background: #999999;  opacity: 0.5;}.item {  width: 120%; // 超过100%  transition: 0.1s ease 0s; // 过渡效果}.edit-line {  width: 2px;  height: 80px;  background: rgba(255, 255, 255, 1);}.edit-delete {  width: 160px;  height: 100%;  background: rgba(255, 126, 34, 1);  opacity: 0.8;  align-items: center;}.edit,.ad-delete {  img {    width: 42px;    height: 42px;  }}.add-btn {  width: 200px;  height: 80px;  background: rgba(255, 126, 34, 1);  box-shadow: 0px 0px 5px 0px rgba(221, 221, 236, 1);  border-radius: 40px;  text-align: center;  line-height: 80px;  color: #ffffff;  font-size: 30px;  position: fixed;  bottom: 8%;  left: 50%;  transform: translateX(-50%);}

vue是什么

Vue是一套用于构建用户界面的渐进式javascript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

看完上述内容,你们掌握使用vue怎么实现左滑编辑与删除的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 使用vue怎么实现左滑编辑与删除

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

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

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

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

下载Word文档
猜你喜欢
  • 使用vue怎么实现左滑编辑与删除
    使用vue怎么实现左滑编辑与删除?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。安装   vue-touch npm insta...
    99+
    2023-06-15
  • vue移动端实现左滑编辑与删除的全过程
    前言 根据项目需要使用 Vue-touch 实现了一个vue移动端的左滑编辑和删除功能,废话不多说,先看效果图,然后上代码吧! 方法如下: 第一步:安装 &nb...
    99+
    2024-04-02
  • vue怎么实现左滑删除功能
    本篇内容介绍了“vue怎么实现左滑删除功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!左滑删除,很多UI框架里有,比如Mint-UI, M...
    99+
    2023-07-04
  • vue怎么实现仿qq左滑置顶删除组件
    这篇文章主要讲解了“vue怎么实现仿qq左滑置顶删除组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现仿qq左滑置顶删除组件”吧!效果图:HTML代码:主要的html代码:&l...
    99+
    2023-07-04
  • 如何用javascript实现左滑删除
    这篇文章主要讲解了“如何用javascript实现左滑删除”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用javascript实现左滑删除”吧! ...
    99+
    2024-04-02
  • vue项目实现左滑删除功能(完整代码)
    实现效果 代码如下 html <template> <div> <div class="biggestBox"> &...
    99+
    2024-04-02
  • 使用vue怎么实现左右滑动效果
    使用vue怎么实现左右滑动效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。HTML代码<template>    &l...
    99+
    2023-06-15
  • 怎么用vue实现顶部左右滑动导航
    这篇“怎么用vue实现顶部左右滑动导航”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用vue实现顶部左右滑动导航”文章吧...
    99+
    2023-07-04
  • mybatisPlus怎么实现逻辑删除
    本篇内容主要讲解“mybatisPlus怎么实现逻辑删除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatisPlus怎么实现逻辑删除”吧!网上大部分的关于mybatisPlus的逻辑删除...
    99+
    2023-06-29
  • thinkphp怎么实现逻辑删除
    本篇内容主要讲解“thinkphp怎么实现逻辑删除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“thinkphp怎么实现逻辑删除”吧!ThinkPHP 逻辑删除:什么是逻辑删除及如何使用它?在一...
    99+
    2023-07-05
  • MyBatis-Plus怎么实现逻辑删除
    这篇“MyBatis-Plus怎么实现逻辑删除”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MyBatis-Plus怎么实现...
    99+
    2023-06-30
  • uniapp怎么实现侧滑删除功能
    近年来,移动应用程序的用户体验已经成为了设计师和开发者越来越重视的领域。使用流畅、易于操作的界面成为应用程序赢得用户青睐的关键所在。侧滑删除作为用户体验的一部分,可以使应用程序的操作更加方便,使用户更快速地找到需要的内容,因此在各种应用程序...
    99+
    2023-05-14
  • gridview编辑和删除的功能怎么用
    GridView是ASP.NET WebForms中常用的控件之一,用于显示和编辑数据。GridView提供了一些内置的功能,如分页...
    99+
    2023-08-19
    gridview
  • Java创建,编辑与删除Excel迷你图表如何实现
    这篇文章主要介绍“Java创建,编辑与删除Excel迷你图表如何实现”,在日常操作中,相信很多人在Java创建,编辑与删除Excel迷你图表如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java创建,...
    99+
    2023-06-30
  • vue怎么实现左右滑动选择日期组件
    今天小编给大家分享一下vue怎么实现左右滑动选择日期组件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果图:1、安装day...
    99+
    2023-06-29
  • 怎么在android中使用View实现一个滑动删除效果
    这篇文章给大家介绍怎么在android中使用View实现一个滑动删除效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。实现功能可以向左滑动,右侧出现删除2、向左滑动如果删除出现一大半,松手打开删除,反之关闭删除3、应用...
    99+
    2023-05-31
    android view roi
  • Java创建,编辑与删除Excel迷你图表的实现方法
    目录前言Java示例代码1. 创建迷你图表2. 编辑迷你图表3. 删除迷你图表前言 迷你图是Excel工作表单元格中表示数据的微型图表。使用迷你图可以非...
    99+
    2024-04-02
  • 小程序滑动删除功能怎么实现
    本篇内容主要讲解“小程序滑动删除功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序滑动删除功能怎么实现”吧!小程序滑动删除效果示例  每个列表项绑定touchstart和touch...
    99+
    2023-06-26
  • springboot中怎么利用mybatis-plus和oracle实现逻辑删除
    springboot中怎么利用mybatis-plus和oracle实现逻辑删除,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。用户实体类package com.sie...
    99+
    2023-06-20
  • 如何在Android中使用RecyclerView实现一个滑动删除
    本篇文章为大家展示了如何在Android中使用RecyclerView实现一个滑动删除,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ItemTouchHelper.CallbackItemTouch...
    99+
    2023-05-31
    android recyclerview recycle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作