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 属性开启自动收起
Toast(item.name);
};
return {
show,
actions,
onSelect,
};
},
};
展示取消按钮
设置 cancel-text
属性后,会在底部展示取消按钮,点击后关闭当前面板并触发 cancel
事件。
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const show = ref(false);
const actions = [
{ name: '选项一' },
{ name: '选项二' },
{ name: '选项三' },
];
Toast('取消');
};
return {
show,
actions,
onCancel,
};
};
<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,
};
},
自定义面板
通过插槽可以自定义面板的展示内容,同时可以使用title
属性展示标题栏
API
Props
Events
Slots
样式变量
组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考主题定制。