ActionSheet 上拉菜单

使用指南

在 app.json 或 index.json 中引入组件

  1. "usingComponents": {
  2. "van-action-sheet": "path/to/vant-weapp/dist/action-sheet/index"
  3. }

代码演示

基础用法

需要传入一个actions的数组,数组的每一项是一个对象,对象属性见文档下方表格。

  1. <van-action-sheet
  2. show="{{ show }}"
  3. actions="{{ actions }}"
  4. bind:close="onClose"
  5. bind:select="onSelect"
  6. />
  1. Page({
  2. data: {
  3. show: false,
  4. actions: [
  5. {
  6. name: '选项'
  7. },
  8. {
  9. name: '分享',
  10. subname: '描述信息',
  11. openType: 'share'
  12. },
  13. {
  14. loading: true
  15. },
  16. {
  17. name: '禁用选项',
  18. disabled: true
  19. }
  20. ]
  21. },
  22. onClose() {
  23. this.setData({ show: false });
  24. },
  25. onSelect(event) {
  26. console.log(event.detail);
  27. }
  28. });

带取消按钮的 ActionSheet

如果传入了cancelText属性,且不为空,则会在下方显示一个取消按钮,点击会将当前ActionSheet关闭。

  1. <van-action-sheet
  2. show="{{ show }}"
  3. actions="{{ actions }}"
  4. cancel-text="取消"
  5. bind:close="onClose"
  6. />

带标题的 ActionSheet

如果传入了title属性,且不为空,则另外一种样式的ActionSheet,里面内容需要自定义。

  1. <van-action-sheet show="{{ show }}" title="支持以下配送方式">
  2. <view>一些内容</view>
  3. </van-action-sheet>

API

参数说明类型默认值
actions菜单选项Array[]
title标题String-
z-indexz-index 层级Number100
cancel-text取消按钮文字String-
overlay是否显示遮罩层Boolean-
close-on-click-overlay点击遮罩是否关闭菜单Boolean-
safe-area-inset-bottom是否适配iPhoneXBooleantrue

Event

事件名说明参数
bind:select选中选项时触发,禁用或加载状态下不会触发event.detail: 选项对应的对象
bind:close关闭时触发-
bind:cancel取消按钮点击时触发-

actions

API中的actions为一个对象数组,数组中的每一个对象配置每一列,每一列有以下key

key说明
name标题
subname二级标题
loading是否为加载状态
disabled是否为禁用状态
className为对应列添加额外的 class 类名
openType微信开放能力,具体支持可参考 微信官方文档

更新日志

版本类型内容
0.0.1feature新增组件
0.3.0breaking change由 Actionsheet 重命名为 ActionSheet
0.3.0feature支持微信开放能力
0.3.0bugfix修复 subname 属性不生效的问题
0.3.3feature新增 z-index 属性
0.3.4bugfix修复边框缺失的问题

原文: https://youzan.github.io/vant-weapp/#/action-sheet