ActionSheet 动作面板
引入
通过以下方式来全局注册组件,更多注册方式请参考。
基础用法
动作面板通过 属性来定义选项,actions
属性是一个由对象构成的数组,数组中的每个对象配置一列,对象格式见文档下方表格。
<van-cell is-link title="基础用法" @click="show = true" />
<van-action-sheet v-model:show="show" :actions="actions" @select="onSelect" />
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const show = ref(false);
const actions = [
{ name: '选项一' },
{ name: '选项二' },
{ name: '选项三' },
];
const onSelect = (item) => {
// 可以通过 close-on-click-action 属性开启自动收起
show.value = false;
Toast(item.name);
};
return {
show,
actions,
onSelect,
};
},
};
展示取消按钮
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
const show = ref(false);
const actions = [
{ name: '选项一' },
{ name: '选项二' },
{ name: '选项三' },
];
const onCancel = () => Toast('取消');
return {
show,
actions,
onCancel,
};
};
通过 description
可以在菜单顶部显示描述信息,通过选项的 subname
属性可以在选项文字的右侧展示描述信息。
<van-action-sheet
v-model:show="show"
:actions="actions"
cancel-text="取消"
description="这是一段描述信息"
close-on-click-action
/>
选项状态
可以通过 loading
和 disabled
将选项设置为加载状态或禁用状态,或者通过color
设置选项的颜色
<van-action-sheet
v-model:show="show"
:actions="actions"
cancel-text="取消"
close-on-click-action
/>
import { ref } from 'vue';
export default {
setup() {
const show = ref(false);
const actions = [
{ name: '着色选项', color: '#ee0a24' },
{ name: '禁用选项', disabled: true },
{ name: '加载选项', loading: true },
];
return {
show,
actions,
};
},
自定义面板
Props
actions
属性是一个由对象构成的数组,数组中的每个对象配置一列,对象可以包含以下值:
Events
Slots
类型定义
组件导出以下类型定义:
import type { ActionSheetAction } from 'vant';