atom-design(Vue.js移动端组件库)手势组件使用教程


Posted in Javascript onMay 16, 2019

介绍

atom-design经过几个月的开发,以及这段时间的修复bug,对js,css压缩,按需引入处理等等的性能优化,现在已经逐渐完善.做这套UI考虑到很多性能的问题,以及如何让开发者更自由、更简单的去使用。这篇文章主要讲使用Gesture(手势)相关组件的感受。

Gesture(手势)相关组件

•Carousel(传送带)
•SlideItem (滑动条)
•Range (区域选择)
•Pull Gesture (上下拉动手势)

Carousel(传送带)

import {Carousel} from 'atom-design';
Vue.component(Carousel.name, Carousel);
<carousel>
 <div class="carousel-item item1">item1</div>
 <div class="carousel-item item2">item2</div>
 <div class="carousel-item item3">item3</div>
</carousel>

使用Carousel来实现轮播图,每个一级子节点都会当成一个轮播滑块

效果如图:

atom-design(Vue.js移动端组件库)手势组件使用教程

 也可以在配置Carousel

pagination(Boolean):是否有分页
auto(Boolean):是否自动轮播
loop(Boolean):是否循环
time(Number):间隔多久轮播(auto为true时生效)
v-model(Number): 绑定轮播的序号(从0开始),也可以设置v-model的初始值来设置轮播从设置的序号开始轮播
<carousel :pagination="true" :auto="true" :loop="true" :time="5000" v-model="slideIdx">
 <div class="carousel-item item1">item1</div>
 <div class="carousel-item item2">item2</div>
 <div class="carousel-item item3">item3</div>
</carousel>

你会发现使用非常简单,而且轮播内容完全可以自己定制,不限制是图片,也可以是任何自定义DOM

SlideItem (滑动条)

这是通过滑动来显示操作的组件

import {SlideItem} from 'atom-design';
Vue.component(SlideItem .name, SlideItem);
<atom-slide v-model="isClose">
 <div class="slide-action" slot="rightAction">
  <div class="action edit" @click="show">编辑</div>
  <div class="action delete" @click="show">删除</div>
 </div>
 <div class="slide-demo">左右拖拽</div>
 <div class="slide-action" slot="leftAction">
  <div class="action info" @click="show">查看</div>
 </div>
</atom-slide>

效果如下图所示

 atom-design(Vue.js移动端组件库)手势组件使用教程

只需要通过slot来指定左右的操作菜单(可选值leftAction/rightAction),便能直接使用滑动功能. 如果你只需要左边或者右边的滑动菜单,则只设置一边即可,组件内部会自动限制另一边的滑动。内容无需通过slot命名,默认的未命名的插槽名都作为内容。

v-model绑定slideItem组件开关,v-model指为false时,则slideItem会自动过渡到未滑动时的状态

Range(区域选择)

import {Range} from 'atom-design';
Vue.component(Range.name, Range);
<atom-range v-model="range2" color="#dd2622"></atom-range>

效果如下所示:

 atom-design(Vue.js移动端组件库)手势组件使用教程

v-model绑定滑动选择的数值,color可以自定义主题颜色

Pull Gesture (上拉下拉手势)

此组件一般用来下拉来更新数据也可以通过上拉来做一些加载数据或者更新的操作

效果如下图所示:

 atom-design(Vue.js移动端组件库)手势组件使用教程

支持全局引入和按需引入

全局引入

import atomD from 'atom-design';
import 'atom-design/bundle/style.css';
Vue.use(atomD);

全局引入atom-design的js和css会全部引入到项目中,因此尽量选择按需引入

按需引入

按需引入步骤

使用 babel-plugin-component 插件来实现按需引入

(1)先安装babel-plugin-component

npm install babel-plugin-component --save-dev

(2)配置.babelrc

[
 "plugins": [
  ["component", {
   "libraryName": "atom-design",
   "style": true
  }]
 ]
]

(3)引入所需组件

import {Picker, Button} from 'atom-design';
Vue.component(Button.name, Button);
const monthArr = [{
 text: 1
},
{
 text: 2
},
{
 text: 3
}]
Picker({
  data: [{
   text: 1996,
   childrens: monthArr
  },
  {
   text: 1997,
   childrens: monthArr
  },
  {
   text: 1998,
   childrens: monthArr
  },
  {
   text: 1999,
   childrens: monthArr
  },
  {
   text: 2000,
   childrens: monthArr
  }],
  submitBtn: {
   style: '',
   event: (res) => {
    // 选中的数据
    console.log(res)
   }
  }
 })

// 使用两个组件,按需引入后打包完的css也只有3kb

atom-design(Vue.js移动端组件库)手势组件使用教程

// 打包后的js也只有使用到的组件才会打包进去

atom-design(Vue.js移动端组件库)手势组件使用教程

非常感谢您能够看到这里,这套UI现在已经趋于完善,你可以在生产项目中试着使用,如果有碰到问题可以在以下github地址提issue, 我们会尽最快的时间去解决。

github地址

https://github.com/Reming9602...

中文文档

https://atom-design.github.io...

总结

以上所述是小编给大家介绍的atom-design(Vue.js移动端组件库)手势组件使用教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
javascript 获取图片颜色
Apr 05 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
table对象中的insertRow与deleteRow使用示例
Jan 26 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
angular中的cookie读写方法
Aug 02 Javascript
webpack打包js的方法
Mar 12 Javascript
Node.js 使用AngularJS的方法示例
May 11 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
详解elementui之el-image-viewer(图片查看器)
Aug 30 Javascript
js+html+css实现手动轮播和自动轮播
Dec 30 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
May 16 #Javascript
微信小程序云开发之云函数详解
May 16 #Javascript
微信小程序云开发之模拟后台增删改查
May 16 #Javascript
微信小程序云开发之新手环境配置
May 16 #Javascript
vue项目中使用scss的方法步骤
May 16 #Javascript
微信小程序云开发使用方法新手初体验
May 16 #Javascript
angular多语言配置详解
May 16 #Javascript
You might like
PHP后端银联支付及退款实例代码
2017/06/23 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
childNodes.length与children.length的区别
2009/05/14 Javascript
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
JavaScript手机振动API
2016/06/11 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
pytorch的batch normalize使用详解
2020/01/15 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
幼儿园保教管理制度
2014/02/03 职场文书
岗位明星事迹材料
2014/05/18 职场文书
驾驶员安全责任书
2014/07/22 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
旷工检讨书1000字
2015/01/01 职场文书
意向协议书
2015/01/27 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
PL350与SW11的比较
2021/04/22 无线电