卡片的sak为不支持的类型_1小时搞定卡片拖拽、自动排列交换位置、拖拽数据存取...

1小时搞定卡片拖拽、自动排列交换位置、拖拽数据存取

来源:https://juejin.im/post/5da53e29e51d457822796ed8

首先演示一下最终效果

流畅的拖动和交换位置效果,并实时更新数据

047a82f24df96aa0dde42e416271989c.gif

支持组件的样式和内容自定义

c983341eb5e28213aad34345dae6c0ee.gif

这是这次系列文章的第一篇,我自己封装了一个用vue实现的拖动卡片组件,并且发布到npm,详细地记录下来了整体制作过程。总共有三篇文章,介绍组件的制作思路和遇到的问题,以及在发布到npm上并下载使用的过程中,发生了什么问题并如何解决。

  • 第一篇为组件封装后的使用文档及介绍
  • 第二篇为组件的实现思路以及遇到的问题
  • 第三篇为将组件打包并上传至npm,如何实现按需加载和下载后使用的问题

这是vue实现的拖动卡片组件,主要实现了

  • 拖动卡片与其他卡片的位置更换,并且其他卡片根据拖动的位置自动顺移
  • 拖动的时候可使用鼠标滚动
  • 卡片根据数据生成,所有参数和内容都是可以自定义的,方便应用于不同场景
  • 不同操作的事件都可获取到,拖动后的位置数据会实时更新
  • 可以全局安装和按需加载

如何使用?

下载carddragger

npm install carddragger复制代码

全局安装

在你vue项目的入口js文件中使用,vue-cli生成的项目一般为main.js文件

import {installCardDragger} from 'carddragger'Vue.use(installCardDragger)复制代码

按需加载

在组件中直接import

import { cardDragger } from 'carddragger'export default { components:{ cardDragger, }}复制代码

使用示例

1.基础使用:

复制代码

2.完整示例:

参照源码仓库中的examples

将整个项目clone下来,npm install+npm run serve即可看到完整示例

Props(参数)

属性说明类型默认值data必填,需要传入的卡片数据,具体格式请看下方解释Array-colNum卡片排列的列数Number2cardOutsideWidth卡片外部需要占据的宽度(包括无内容部分)Number590cardOutsideHeight卡片外部需要占据的高度(包括无内容部分)Number380cardInsideWidth卡片的宽度Number560cardInsideHeight卡片的高度Number320detectDistance卡片拖动的时候,会触发交换位置的最小距离Number50

5e8165b0cdf0a1a3a4b9f2faae006753.png

data格式示例:

卡片的内容根据data数据生成或自定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值