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 相关文章推荐
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 Javascript
Web打印解决方案之普通报表打印功能
Aug 29 Javascript
JS作用域深度解析
Dec 29 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 Javascript
Angular 1.x个人使用的经验小结
Jul 19 Javascript
详解EasyUi控件中的Datagrid
Aug 23 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 Javascript
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
Aug 23 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
小程序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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
PHP数组实例详解
2016/06/26 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
JQuery小知识
2010/10/15 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
jQuery实现日历效果
2020/09/11 jQuery
Python 解析XML文件
2009/04/15 Python
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
简历中的自我评价范文
2014/02/05 职场文书
大学军训感言600字
2014/02/25 职场文书
民事和解协议书格式
2014/11/29 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python