微信小程序 action-sheet底部菜单详解


Posted in Javascript onOctober 27, 2016

微信小程序 action-sheet

action-sheet是从底部弹出的选择菜单,子菜单通过action-sheet-item和action-sheet-cancel指定,action-sheet-item是菜单项,action-sheet-cancel顾名思义是取消隐藏菜单,我们可以通过为action-sheet-item添加bindtap来触发点击后作出的相应,点击action-sheet-cancel时会触发action-sheet的bindchange事件。可以在bindchange绑定的函数中控制菜单的显示。另外点击空白处时菜单也会隐藏。

官方文档

 微信小程序 action-sheet底部菜单详解

 .wxml

<button type="default" bindtap="actionSheetTap">弹出action sheet</button>
<action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetChange">
  <block wx:for-items="{{actionSheetItems}}">
    <action-sheet-item bindtap="bind{{item}}">{{item}}</action-sheet-item>
  </block>
  <action-sheet-cancel >取消</action-sheet-cancel>
</action-sheet>

.js

var items = ['item1', 'item2', 'item3', 'item4']
var pageObject = {
 data: {
  actionSheetHidden: true,
  actionSheetItems: items
 },
 actionSheetTap: function(e) {
  console.log(this);
  this.setData({
   actionSheetHidden: !this.data.actionSheetHidden
  })
 },
 actionSheetChange: function(e) {
  this.setData({
   actionSheetHidden: !this.data.actionSheetHidden
  });
  console.log("点击ation-sheet-cancel,会触发action-sheet绑定的事件。在这里可以通过改变hidden控制菜单的隐藏");
 }
}

for (var i = 0; i < items.length; ++i) {
 (function(itemName) {
  pageObject['bind' + itemName] = function(e) {
   console.log('click' + itemName, e)
  }
 })(items[i])
}

Page(pageObject)

运行效果

微信小程序 action-sheet底部菜单详解

如何让点击空白处时不隐藏图片呢?另外点击取消的时候自动隐藏菜单不就算了,非要自己写一句话让它隐藏,真麻烦。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery JSON实现无刷新三级联动实例探讨
May 28 Javascript
Google Dart编程语法和基本类型学习教程
Nov 27 Javascript
JS中判断null、undefined与NaN的方法
Mar 24 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
May 21 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
jQuery+ajax实现文章点赞功能的方法
Dec 31 Javascript
最细致的vue.js基础语法 值得收藏!
Nov 03 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
第一次记录Bootstrap table学习笔记(1)
May 18 Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 Javascript
JS实现瀑布流效果
Mar 07 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 #Javascript
微信小程序  modal弹框组件详解
Oct 27 #Javascript
从0开始学Vue
Oct 27 #Javascript
微信小程序  Mustache语法详细介绍
Oct 27 #Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 #Javascript
JavaScript登录验证码的实现
Oct 27 #Javascript
微信小程序  自定义创建详细介绍
Oct 27 #Javascript
You might like
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
全面了解js中的script标签
2016/07/04 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
使用pandas读取文件的实现
2019/07/31 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python多线程实现TCP服务端
2019/09/03 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
Python中bisect的用法及示例详解
2020/07/20 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
促销活动方案模板
2014/02/24 职场文书
小学领导班子对照材料
2014/08/23 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python