DCloud_UNI_FXY
DCloud_UNI_FXY
  • 发布:2017-06-27 21:25
  • 更新:2017-06-27 21:25
  • 阅读:6971

MUI+VUE2.0:开发一个actionsheet组件

分类:MUI
  1. 开发工具:HBuilder
  2. 开发目标:使用vue2.0+mui.min.css开发一个与mui官方功能一致的actionsheet组件
  3. 实现功能
    • actionsheet组件可接收一个items参数来显示具体子项
    • actionsheet组件可接收一个onItemClick回调来处理子项点击事件

备注:简单起见,不使用vue的单文件组件开发模式

开发步骤

  1. 使用HBuilder,创建一个移动App(mui项目)
  2. 引入mui.min.css及vue.js
  3. 搭建一个页面框架,代码如下:

    
    <!DOCTYPE html>  
    <html>  
    
    <head>  
        <meta charset="utf-8">  
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />  
        <title></title>  
        <link rel="stylesheet" href="css/mui.min.css" />  
    </head>  
    
    <body>  
        <div id="app"></div>  
        <script type="text/javascript" src="js/vue.js"></script>  
    </body>  

4.开发actionsheet组件,代码如下  
组件动画样式

/**

  • 重写mui.min.css中的样式
    */

.mui-popover.mui-popover-action {
display: block;
opacity: 1;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-transition: none;
transition: none;
}
/**

  • 定义actionsheet的backdrop进入动画效果
    */

.mui-actionsheet-enter {
opacity: 1;
}
/**

  • 定义actionsheet的backdrop离开动画效果
    */

.mui-actionsheet-leave-to {
opacity: 0;
}
/**

  • 定义actionsheet动画持续时间
    */

.mui-actionsheet-enter-active,
.mui-actionsheet-leave-active,
.mui-actionsheet-enter-active .mui-popover.mui-popover-action,
.mui-actionsheet-leave-active .mui-popover.mui-popover-action {
-webkit-transition: -webkit-transform .3s, opacity .3s;
transition: transform .3s, opacity .3s;
}
/**

  • 定义actionsheet进入时,离开时动画效果
    */

.mui-actionsheet-enter .mui-popover.mui-popover-action,
.mui-actionsheet-leave-to .mui-popover.mui-popover-action {
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}

组件模板代码
4 关注 分享
8***@qq.com Trust 我是用户名 3***@qq.com

要回复文章请先登录注册

a***@vip.qq.com

a***@vip.qq.com

希望再出多一点官方VUE组件
2018-03-20 14:20
c***@163.com

c***@163.com

回复 DCloud_UNI_FXY :
你的组件能单独拎出来吗,如果每个html都要引用这个组件的话,那不是很多代码的重复性
2017-07-11 20:34
c***@163.com

c***@163.com

回复 DCloud_UNI_FXY :
我觉得使用vue的单文件能更好的维护组件,避免重复性,对打包加密也有好处
2017-07-10 20:53
枫桥居APP

枫桥居APP

回复 DCloud_UNI_FXY :
好的
2017-06-29 09:07
DCloud_UNI_FXY

DCloud_UNI_FXY (作者)

回复 枫桥居APP :
备注:简单起见,不使用vue的单文件组件开发模式
vue-cli需要安装环境,编译等步骤.初学者需要学习
对于熟悉vue的,可以自己转换成.vue开发模式,组件自身代码没什么区别
2017-06-28 18:50
枫桥居APP

枫桥居APP

为什么不用vue-cli开发,这才是vue开发利器啊
2017-06-28 09:26