vue插件draggable实现拖拽移动图片顺序


Posted in Javascript onDecember 01, 2018

本文实例为大家分享了vue插件draggable实现拖拽移动图片顺序的具体方法,供大家参考,具体内容如下

vue插件draggable实现拖拽移动图片顺序

例如图片显示的这种图片列表、商品展示需要拖动图片改变顺序,vuedraggable可以实现拖拽。

首先,

npm i vuedraggable

然后在组件中引入,

import draggable from 'vuedraggable';

定义组件,

components: {
  draggable,
 },

标签中应用,

<ul class="pic-list clearfix">
   <draggable class="list-group" v-model="hotVOList" :options="{animation: 60,}"
     :move="getdata" @update="datadragEnd">
      <li v-for="(child,index) in hotVOList" :key="index">
      <img :src="child.picServerUrl1" alt="">
      <div class="edit-pop dn"></div>
      <!-- <div class="edit-box dn">
      <span class="banner-edit-btn" @click="eidtBanner(child.id)">编辑</span>
      <span class="banner-cancle-btn" @click="delateBanner(child.id)">删除</span>
      </div> -->
      <img class="prod-choose" v-if="child.flag == 1" src="../../assets/images/not-select.png" alt="" @click="selectProd(child.decorateId)"> 
      <img class="prod-choose" v-else-if="child.flag == 2" src="../../assets/images/prod-select.png" @click="selectProd2(child.decorateId)" alt="">
      <div class="edit-box-bottom" v-if="child.property == 1">
      <span class="conf-con">{{ child.goodsName }}</span>
      <p class="product-money"><span class="lower">低至</span>¥{{ child.lowestPrice }}</p>
      </div>
      <div class="edit-box-bottom" v-else>
      <span class="conf-con">{{ child.goodsName }}</span>
      <p class="product-money">
       <img src="../../assets/images/yuedu.png" alt="">
       <span class="browseNum ">{{ child.browseNum }}</span>
       <img src="../../assets/images/zan.png" alt="">
       <span class="browseNum ">{{ child.thumbNum }}</span>
      </p>
     </div>
   </li>
  </draggable>
</ul>

方法,

getdata (data) {
   
  },
  datadragEnd (evt) {
   var oneId = "";
   var otherId = "";
    // console.log('datadragEnd方法');
   console.log('拖动前的索引 :' + evt.oldIndex)
   console.log('拖动后的索引 :' + evt.newIndex)
   
   if(evt.newIndex == this.hotVOList.length - 1 && this.pageData.pageNum < Math.ceil(this.pageData.total/10)){
    this.$api.get("/mallConfig/hot_goods_list/" + this.addHotMallID,{
     pageNum:this.pageData.pageNum+1,
     pageSize:this.pageData.pageSize
    },
    su => {
     if (su.httpCode == 200) {
      this.newHotVOList = su.data.hotVOList;
      oneId = su.data.hotVOList[0].decorateId;
      otherId = this.hotVOList[evt.newIndex].decorateId;
      this.$api.get(
       "/mallConfig/hot_product/exchage_turn/" + this.addHotMallID,
       {
        oneId: oneId,
        otherId :otherId,
       },
       su => {
        if (su.httpCode == 200) {
         this.getBodyList(this.addHotMallID);
        }
       },
       err => {},
       { accessToken: sessionStorage.getItem("accessToken") }
      );
     }
    },
    err => {},
    { accessToken: sessionStorage.getItem("accessToken") })
   } else if(evt.newIndex == this.hotVOList.length - 1 && this.pageData.pageNum == Math.ceil(this.pageData.total/10)){
    otherId = this.hotVOList[evt.newIndex].decorateId;
    oneId = -1;
    this.$api.get(
     "/mallConfig/hot_product/exchage_turn/" + this.addHotMallID,
     {
      oneId: oneId,
      otherId :otherId,
     },
     su => {
      if (su.httpCode == 200) {
       this.getBodyList(this.addHotMallID);
      }
     },
     err => {},
     { accessToken: sessionStorage.getItem("accessToken") }
    );
   } else {
    otherId = this.hotVOList[evt.newIndex].decorateId;
    oneId = this.hotVOList[evt.newIndex + 1].decorateId;
    this.$api.get(
     "/mallConfig/hot_product/exchage_turn/" + this.addHotMallID,
     {
      oneId: oneId,
      otherId :otherId,
     },
     su => {
      if (su.httpCode == 200) {
       this.getBodyList(this.addHotMallID);
      }
     },
     err => {},
     { accessToken: sessionStorage.getItem("accessToken") }
    );
   }
  },

datadragEnd是调换结束调用的,里面可以根据需求处理一些数据。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
判断浏览器的javascript版本的代码
Sep 03 Javascript
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
Jun 06 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 Javascript
js实现非常简单的焦点图切换特效实例
May 07 Javascript
JavaScript中字面量与函数的基本使用知识
Oct 20 Javascript
jQuery实现的可编辑表格完整实例
Jun 20 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
关于vue里页面的缓存详解
Nov 04 Javascript
js实现炫酷光感效果
Sep 05 Javascript
鸿蒙系统中的 JS 开发框架
Sep 18 Javascript
React 高阶组件HOC用法归纳
Jun 13 Javascript
vue.draggable实现表格拖拽排序效果
Dec 01 #Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 #Javascript
Vue组件Draggable实现拖拽功能
Dec 01 #Javascript
BootStrap modal实现拖拽功能
Dec 01 #Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
Aug 21 #Javascript
BootStrap table实现表格行拖拽效果
Dec 01 #Javascript
一次Webpack配置文件的分离实战记录
Nov 30 #Javascript
You might like
一些花式咖啡的配方
2021/03/03 冲泡冲煮
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
python制作图片缩略图
2019/04/30 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
python Shapely使用指南详解
2020/02/18 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
个人师德师风自我剖析材料
2014/09/29 职场文书
工作经历证明书范文
2014/11/02 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
物业公司管理制度
2015/08/05 职场文书
小学作文之描写天气
2019/08/15 职场文书
Java数组与堆栈相关知识总结
2021/06/29 Java/Android
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers