Actionsheet 上拉菜单

使用指南

  1. import { Actionsheet } from 'vant';
  2. Vue.use(Actionsheet);

代码演示

基础用法

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

  1. <van-actionsheet
  2. v-model="show"
  3. :actions="actions"
  4. @select="onSelect"
  5. />
  1. export default {
  2. data() {
  3. return {
  4. show: false,
  5. actions: [
  6. {
  7. name: '选项'
  8. },
  9. {
  10. name: '选项',
  11. subname: '描述信息'
  12. },
  13. {
  14. loading: true
  15. },
  16. {
  17. name: '禁用选项',
  18. disabled: true
  19. }
  20. ]
  21. };
  22. },
  23. methods: {
  24. onSelect(item) {
  25. // 点击选项时默认不会关闭菜单,可以手动关闭
  26. this.show = false;
  27. Toast(item.name);
  28. }
  29. }
  30. }

带取消按钮的 Actionsheet

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

  1. <van-actionsheet
  2. v-model="show"
  3. :actions="actions"
  4. cancel-text="取消"
  5. @select="onSelect"
  6. @cancel="onCancel"
  7. />

带标题的 Actionsheet

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

  1. <van-actionsheet v-model="show" title="支持以下配送方式">
  2. <p>一些内容</p>
  3. </van-actionsheet>

API

参数说明类型默认值版本
actions菜单选项Array[]-
title标题String--
cancel-text取消按钮文字,为空时不展示取消按钮String--
overlay是否显示遮罩层Booleantrue-
close-on-click-overlay是否在点击蒙层后关闭Booleantrue-
lazy-render是否在显示弹层时才渲染节点Booleantrue1.1.11
get-container指定挂载的节点,可以传入选择器,或一个返回节点的函数String | () => HTMLElement--

Event

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

actions

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

key说明
name标题
subname二级标题
className为对应列添加额外的 class
loading是否为加载状态
disabled是否为禁用状态

原文: https://youzan.github.io/vant/#/zh-CN/actionsheet