插件 sortablejs:HTML元素可拖动排序

插件 sortablejs

安装

npm i sortablejs

引入

import Sortable from "sortablejs"

HTML

<ul id="items">
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
    <li>item 4</li>
    <li>item 5</li>
</ul>
<!-- 或者 -->
<div id="items">
    <div>item 1</div>
    <div>item 2</div>
    <div>item 3</div>
    <div>item 4</div>
    <div>item 5</div>
</div>

初始化

  • 代码第 1行,注意是获取父元素。但可拖动的是其子元素
  • 代码第 2行,第二个参数有很多属性和回调方法:如:animation, onStart, onEnd完整代码 中使用方法 onEnd,如想了解更多参数,可在此查看 Options
// 获取父元素
let el = document.getElementById('items');
// 初始化
Sortable.create(el, {});

效果

在这里插入图片描述

完成代码

<template>
    <div class="sortabele-main">
        <ul id="items">
            <li>item 1</li>
            <li>item 2</li>
            <li>item 3</li>
            <li>item 4</li>
            <li>item 5</li>
        </ul>
    </div>
</template>
 
<script>
import Sortable from "sortablejs"

export default {
    methods: {
        // 初始化
        initSortable() {
            let el = document.getElementById('items');
            Sortable.create(el, {
                // 被移动的元素 oldIndex newIndex 新下标
                onEnd: ({ oldIndex, newIndex }) => {
                    console.log(newIndex, oldIndex);
                }
            });
        }
    },
    mounted() {
        this.initSortable();
    }
}
</script>
 
<style lang="stylus" scoped>
.sortabele-main {
    padding: 20px;
    ul {
        list-style-type: none;
        li {
            width: 90px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            background: #ccc;
            cursor: pointer;
            margin: 8px;
        }
    }
}
</style>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值