<style> .demo-actionsheet { .actionsheet-wx { color: #06BF04; } .van-button { margin-left: 15px; } .title-actionsheet p { padding: 20px; } } </style> <script> export default { data() { return { show1: false, show2: false, show3: false, actions1: [ { name: '微信安全支付', className: 'actionsheet-wx', callback: this.handleActionClick }, { name: '支付宝支付', loading: true }, { name: '信用卡支付' }, { name: '其他支付方式' } ] }; }, methods: { handleActionClick(item) { console.log(item); } } } </script> ## Actionsheet 行动按钮 ### 使用指南 ``` javascript import { Actionsheet } from 'vant'; Vue.component(Actionsheet.name, Actionsheet); ``` ### 代码演示 #### 基础用法 需要传入一个`actions`的属性,该属性为一个数组,数组的每一项是一个对象,可以根据下面的[action对象](#actions)设置你想要的信息。 :::demo 基础用法 ```html <van-button @click="show1 = true">弹出actionsheet</van-button> <van-actionsheet v-model="show1" :actions="actions1"> </van-actionsheet> ``` ```javascript export default { data() { return { show1: false, actions1: [ { name: '微信安全支付', className: 'actionsheet-wx', callback: this.handleActionClick }, { name: '支付宝支付', loading: true }, { name: '信用卡支付' }, { name: '其他支付方式' } ] }; }, methods: { handleActionClick(item) { console.log(item); } } } ``` ::: #### 带取消按钮的 Actionsheet 如果传入了`cancelText`属性,且不为空,则会在下方显示一个取消按钮,点击会将当前`Actionsheet`关闭。 :::demo 带取消按钮的 Actionsheet ```html <van-button @click="show2 = true">弹出带取消按钮的actionsheet</van-button> <van-actionsheet v-model="show2" :actions="actions1" cancel-text="取消"> </van-actionsheet> ``` ```javascript export default { data() { return { show2: false, actions1: [ { name: '微信安全支付', className: 'actionsheet-wx', callback: this.handleActionClick }, { name: '支付宝支付', loading: true }, { name: '信用卡支付' }, { name: '其他支付方式' } ] }; } } ``` ::: #### 带标题的 Actionsheet 如果传入了`title`属性,且不为空,则另外一种样式的`Actionsheet`,里面内容需要自定义。 :::demo 带标题的 Actionsheet ```html <van-button @click="show3 = true">弹出带标题的actionsheet</van-button> <van-actionsheet v-model="show3" title="支持以下配送方式" class="title-actionsheet"> <p>一些内容</p> </van-actionsheet> ``` ::: ### API | 参数 | 说明 | 类型 | 默认值 | 可选值 | |-----------|-----------|-----------|-------------|-------------| | actions | 行动按钮数组 | `Array` | `[]` | | | title | 标题 | `String` | | | | cancelText | 取消按钮文案 | `String` | | | | overlay | 是否显示遮罩 | `Boolean` | | | | closeOnClickOverlay | 点击遮罩是否关闭`Actionsheet` | `Boolean` | | | ### actions `API`中的`actions`为一个对象数组,数组中的每一个对象配置每一列,每一列有以下`key`: | key | 说明 | |-----------|-----------| | name | 标题 | | subname | 二级标题 | | className | 为对应列添加特殊的`class` | | loading | 是否是`loading`状态 | | callback | 点击时的回调。该回调接受一个参数,参数为当前点击`action`的对象信息 |