自己开发的 vue 滑动按钮组件 vue-better-slider
写在前面的
这个人第一次尝试开发并发布一个 vue 的组件,该组件实现了类似 ios 手机淘宝客户端 -> 消息界面中消息的滑动删除功能等,如下为该组件的文档。
一个 Vue 的滑动按钮组件,有关滑动方面的处理借鉴 better-scroll 的实现。
起步
安装
npm i --save vue-sliding-button
引入
import Vue from 'vue' import SlidingButton from 'vue-sliding-button' Vue.use(SlidingButton)
使用
<template>
<div>
<better-slider>
<div slot="front" class="front">
前面的内容
</div>
<div slot="back" class="back">
后面的内容
</div>
</better-slider>
</div>
</template>
<script>
</script>
原理
布局

绿色部分为 wrapper,它拥有两个子元素为 back 和 front,它的高度会被 front 撑起。黄色部分为 back,它使用绝对定位,它的高度与 wrapper 相同,值得注意的是为了提高性能,back 在用户触摸该控件是才被插入。front 与 back 同级。
关闭
组件提供关闭动画,调用组件的 close 方法使用,可以通过监听 clickBackEvent 等事件,通过传入的组件引用已调用该方法。需要注意的是,该方法并不会删除该组件,可以通过监听 closeTransitionEndEvent 事件,在其中进行自己的处理。
选项
SlidingButton 支持很多属性。
right
- 类型:Number
- 默认值:80
- 作用:从左向右滑动时,右边展示宽度
left
- 类型:Number
- 默认值:80
- 作用:从右向左滑动时,左边展示宽度
rightBackgroundColor
- 类型:Number
- 默认值:80
- 作用:从左向右滑动时,组件底色,主要用于关闭动画
leftBackgroundColor
- 类型:Number
- 默认值:0
- 作用:从右向左滑动时,组件底色,主要用于关闭动画
momentum
- 类型:Boolean
- 默认值:true
- 作用:表示是否开启惯性动画
momentumTime
- 类型:Number
- 默认值:100
- 作用:表示惯性动画持续时间
deceleration
- 类型:Number
- 默认值:0.01
- 作用:表示惯性动画的减速度
closeTime
- 类型:Number
- 默认值:300
- 作用:表示关闭动画的持续时间
trigger
- 类型:Boolean
- 默认值:true
- 作用:该属性为 true 或 false 并无区别,只要该值发生改变,且用户没有触摸该组件时,就会将组件的 front 置于原始位置。当在列表中使用多个该组件时,可以使用该属性。
事件
注意:event 是事件原生参数,component 是指向该组件的引用。
clickBackEvent
- 参数:{ Object }.{ event, component }
- 触发时机:用户点击 back 时
clickFrontEvent
- 参数:{ Object }.{ event, component }
- 触发时机:用户点击 front 时
touchStartEvent
- 参数:{ Object }.{ event, component }
- 触发时机:用户开始触摸该组件时
closeTransitionEndEvent
- 参数:{ Object }.{ event, component }
- 触发时机:关闭动画结束时调用
自己开发的 vue 滑动按钮组件 vue-better-slider的更多相关文章
- 一个 Vue 的滑动按钮组件
git 地址:https://github.com/SyMind/vue-sliding-button vue-better-slider 一个 Vue 的滑动按钮组件,有关滑动方面的处理借鉴 bet ...
- Vue 波纹按钮组件
代码链接:https://github.com/zhangKunUserGit/vue-component 效果图: 大家可以在线运行: https://zhangkunusergit.github. ...
- 手把手教你实现一个 Vue 进度条组件!
最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...
- Vue ---- 组价 组件化 子传父 父传子
目录 补充js的for循环: 组件 1.组件的分类: 2.组件的特点 3.创建局部组件 4.全局组件 二.组件化 一.组件传参父传子 二.组件传参:子传父 补充js的for循环: // for in遍 ...
- 手把手教你用Vue造轮子(3):开发可排序的表格组件
前言 最近闰土大叔跟Vue干上了,没办法,公司业务驱动,不用Vue没招啊,leader尝到了前后端分离带来的好处,除非你离职,哈哈哈,当然,那是不可能的,对于我这种要攒钱买房子的人来说.那还说什么呢, ...
- Vue 入门之组件化开发
Vue 入门之组件化开发 组件其实就是一个拥有样式.动画.js 逻辑.HTML 结构的综合块.前端组件化确实让大的前端团队更高效的开发前端项目.而作为前端比较流行的框架之一,Vue 的组件和也做的非常 ...
- vue.js原生组件化开发(二)——父子组件
前言 在了解父子组件之前应先掌握组件开发基础.在实际开发过程中,组件之间可以嵌套,也因此生成父子组件. 父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件chi ...
- 循序渐进VUE+Element 前端应用开发(26)--- 各种界面组件的使用(2)
在我们使用Vue+Element开发前端的时候,往往涉及到很多界面组件的使用,其中很多直接采用Element官方的案例即可,有些则是在这个基础上封装更好利用.更少代码的组件:另外有些则是直接采用第三方 ...
- 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题
基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...
随机推荐
- PHP解码unicode编码中文字符代码
function replace_unicode_escape_sequence($match) { return mb_convert_encoding(pack('H*', $match[1]), ...
- eclipse在线安装JBoss Tool过程
eclipse在线安装JBoss Tool过程 1.打开eclipse,依次点击"help--->Install New Software..." 2.再单击"Ad ...
- 小白——java基础之数据类型
PS:此文章为小白提供,大佬请绕道!!!! 首先特别感谢大才哥给我提供这个平台,未来我希望把java这个版块的内容补全. 今天要讲的是数据类型,最最最基础的内容~ java标识符.数据类型.关键字 开 ...
- 使用Gulp进行代码压缩的步骤以及配置
一.安装步骤 1.首先确定是否安装了node.js,如果未安装,请先安装node.js: 2.确定是否安装了包管理工具npm,如未安装请安装:npm install npm -g: 3.安装gulp: ...
- java 的几种引用
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引用和虚引用. 1.强引用 本章前文介绍的引用实际上都是强引用, ...
- 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
- 如何使用mysqldump备份数据库
一.背景 在开发项目中,数据库是核心资产.除了做主备冗余增加可靠性外,定期备份数据也是必须的. 使用mysqldump备份数据具有操作简单,备份和恢复时间短的优点(mysqldump备份数据生成的是批 ...
- C# 登录 存Session ,cookie并且验证只能一个人登录以及清session并且Cache
string id = ConvertHelper.GetString(ds.Tables[0].Rows[0]["Uid"]);//用户ID string struserid = ...
- angular路由详解六(路由守卫)
路由守卫 CanActivate: 处理导航到某个路由的情况. CanDeactivate:处理从当前路由离开的情况. Resole:在路由激活之前获取路由数据. 1.CanActivate: 处理导 ...
- 微信小程序-布局
flex-direction 传送门 border 传送门 边框 粗细:thin(细线).medium(中粗线)和thick(粗线) 类型:九个确定值:none(无边框线). dotted(由点组成的 ...