首页 技术 正文
技术 2022年11月15日
0 收藏 441 点赞 3,473 浏览 878 个字

效果图 上移 下移 首先想到的是 数组的相互替换嘛

vue 实现模块上移下移 实现排序

<template>
<div>
<div class="box" v-for="(item,index) in arr" :key="index">
{{item.cnName}}
<div class="upDownWrapper">
<span class="up" @click="upClick(index)" v-if="index !== 0">上移</span>
<span class="down" @click="downClick(index)" v-if="index !== arr.length - 1">下移</span>
</div>
</div>
</div>
</template>export default {
data() {
return {
arr: [
{
cnName: "第一"
},
{
cnName: "第二"
},
{
cnName: "第三"
},
{
cnName: "第四"
}
]
};
}
};

主要方法是

  methods: {
// 上移
upClick(index) {
console.log('upClick',index);
let newArr = this.swapItems(this.arr, index, index - 1)
this.arr = newArr
},
// 下移
downClick(index) {
console.log('downClick',index);
let newArr = this.swapItems(this.arr, index, index + 1)
this.arr = newArr
},
// 上下移动的核心。splice函数 返回的是被删除 项 并且 会改变原数组
  // arr.splice(index2, 1, arr[index])[0] 这个得到是的 被删除的 项 并且原数组 已经得到替换。所以需要将被删除项 设置为上一项的值
  //如果解释不是很清楚。自己去控制台 打印 玩玩 (主要是为自己理解做笔记)
swapItems(arr, index1, index2) {
arr[index1] = arr.splice(index2, 1, arr[index1])[0];
return arr;
} }
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,903
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,429
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,245
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,057
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,689
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,726