左侧弹出菜单栏目【小程序】 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

左侧弹出菜单栏目【小程序】

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:31

想法

不想使用第三方的小程序UI组件,理由是因为第三方组件是所有常见组件的集合,css样式代码过于庞大,虽然说是轻量级的组件,但是对于小程序来说,依旧很庞大。并且在一个小程序中也不一定用到所有的组件,却是引入全部的css代码。

所以我想将每一个组件单独剥离出来,当使用到某一个组件的时候,就引入对应的组件和样式即可。

效果图:

在这里插入图片描述

思路和上一篇文章:微信小程序UI组件:底部弹出【pop-up】

源码:

<!-- 阴影 -->

<view class="yd_overlay  {{show?'yd_show_overlay':'yd_close_overlay'}}" bindtap="close_overlay"></view>

<!-- 左侧栏目 -->
<view bindtap="close_overlay" class="left_container  {{show?'yd_left_content':'yd_close_overlay'}}">左侧栏目</view>

css:

.yd_overlay {
  position: fixed;
  bottom: 0;
  left: 0;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.yd_show_overlay {
  width: 100%;
  transition-property: width;
  transition-duration: 900ms;
  transition-timing-function: ease;
}

.yd_close_overlay {
  width: 0;
  transition-property: width;
  transition-duration: 900ms;
  transition-timing-function: ease;
}

.left_container {
  position: fixed;
  top: 0;
  bottom: 0;
  height: 100%;
  background: red;
  z-index: 999;
  overflow: hidden;
}

.yd_left_content {
  width: 20%;
  transition-property: width;
  transition-duration: 900ms;
  transition-timing-function: ease;
}

js:

Component({
  properties: {
    show: Boolean,
  },
  data: {},
  attached: function(e) {},
  methods: {
    close_overlay() {
      this.setData({
        show: false
      })
    },
    pop_left() {
      this.setData({
        show: true
      })
    }
  },
})

以上代码已经将组件编写好了,在其他页面使用的时候,在json文件中直接引入即可:

{
  "usingComponents": {
    "popup-left":"../Components/popupLeft/popupLeft"
  }
}

wxml:

  <!-- 引入组件 -->
  <popup-left show="{{showleft}}"></popup-left>

show就是主页面向组件传递的参数。

如有误,欢饮留言!!!!

相关案例查看更多