微信小程序 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 相关文章推荐
JavaScript中的私有成员
Sep 18 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
Jul 17 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 Javascript
关于js注册事件的常用方法
Apr 03 Javascript
原始的js代码和jquery对比体会
Sep 10 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
Easyui使用Dialog行内按钮布局的实例
Jul 27 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
基于vue cli重构多页面脚手架过程详解
Jan 23 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
如何手写简易的 Vue Router
Oct 10 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中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
如何提高数据访问速度
2016/12/26 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python随机生成数模块random使用实例
2015/04/13 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Python制作动态字符图的实例
2019/01/27 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
计算机专业毕业生的自我评价
2013/11/18 职场文书
就业意向书范文
2014/04/01 职场文书
合作经营协议书范本
2014/04/17 职场文书
小学生评语大全
2014/04/18 职场文书
汽车车尾标语大全
2015/08/11 职场文书
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL