ShareSheet 分享面板
文档: https://vant-contrib.gitee.io/vant/#/zh-CN/share-sheet
分享面板是从底部弹起来的一个层, 风格与 ActionSheet 类似, 但内容按照分享的样式进行定义, 需要自行配置的分享的项, 文字文案, 以及图标. 利用 onSelect 事件来获得点击分享的项,来进行后续分享的逻辑处理.
基本用法:
- 定义分享的数据源 (
options), 必要属性有:name(显示的名字),icon(显示的图标). 如何需要多行展示, 就设置为多为数组. - 绑定
v-model:show控制组件的显示. - 设置
title属性 - 定义
select事件, 点击分享后会触发事件, 事件参数, 或所绑定的数据源可以获得所点击的项. - 在
select事件中将v-model:show中绑定的值设置为false.
<van-share-sheet
v-model:show="showShare"
title="立即分享给好友"
:options="options"
@select="onSelect"
/>
const showShare = ref(false)
const options = [
{ name: '微信', icon: 'wechat' },
{ name: '微博', icon: 'weibo' },
{ name: '复制链接', icon: 'link' },
{ name: '分享海报', icon: 'poster' },
{ name: '二维码', icon: 'qrcode' },
]
const onSelect = (option) => {
showToast(option.name);
showShare.value = false;
}
其中 Options 的数据结构
| 属性 | 说明 |
|---|---|
name | 显示在页面中的名字, 描述为渠道名称 |
description | 描述文字, 显示在渠道名下方的描述文字, 略小灰色. |
icon | 显示的图标. 可选值为 wechat, weibo, qq, link, qrcode, poster, weapp-qrcode, wechat-moments, 支持图片 url. |
className | 类样式名. |