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 相关文章推荐
让innerHTML的脚本也可以运行起来
Jul 01 Javascript
让Firefox支持event对象实现代码
Nov 07 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
JS实现将人民币金额转换为大写的示例代码
Feb 13 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
详解RequireJs官方使用教程
Oct 31 Javascript
vue.js前后端数据交互之提交数据操作详解
Apr 24 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
pm2发布node配置文件ecosystem.json详解
May 15 Javascript
layui 监听select选择 获取当前select的ID名称方法
Sep 24 Javascript
vue项目或网页上实现文字转换成语音播放功能
Jun 09 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
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
jquery中动态效果小结
2010/12/16 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
script标签属性type与language使用选择
2012/12/02 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
python开发之str.format()用法实例分析
2016/02/22 Python
Python如何判断数独是否合法
2016/09/08 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
预备党员转正思想汇报
2014/01/12 职场文书
关于教师节的广播稿
2014/09/10 职场文书
租房协议书
2014/09/12 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
欢迎词怎么写
2015/01/23 职场文书
学期个人工作总结
2015/02/13 职场文书
婚宴父母致辞
2015/07/27 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android
python3中apply函数和lambda函数的使用详解
2022/02/28 Python
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL