diff --git a/src/share-sheet/README.md b/src/share-sheet/README.md
index 19a0d7c34..4501caf9c 100644
--- a/src/share-sheet/README.md
+++ b/src/share-sheet/README.md
@@ -25,26 +25,30 @@ app.use(ShareSheet);
```
```js
+import { ref } from 'vue';
import { Toast } from 'vant';
export default {
- data() {
- return {
- showShare: false,
- options: [
- { name: 'Wechat', icon: 'wechat' },
- { name: 'Weibo', icon: 'weibo' },
- { name: 'Link', icon: 'link' },
- { name: 'Poster', icon: 'poster' },
- { name: 'Qrcode', icon: 'qrcode' },
- ],
- };
- },
- methods: {
- onSelect(option) {
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ { name: 'Wechat', icon: 'wechat' },
+ { name: 'Weibo', icon: 'weibo' },
+ { name: 'Link', icon: 'link' },
+ { name: 'Poster', icon: 'poster' },
+ { name: 'Qrcode', icon: 'qrcode' },
+ ];
+
+ const onSelect = (option) => {
Toast(option.name);
- this.showShare = false;
- },
+ showShare.value = false;
+ };
+
+ return {
+ options,
+ onSelect,
+ showShare,
+ };
},
};
```
@@ -56,23 +60,63 @@ export default {
```
```js
+import { ref } from 'vue';
+
export default {
- data() {
- return {
- showShare: false,
- options: [
- [
- { name: 'Wechat', icon: 'wechat' },
- { name: 'Weibo', icon: 'weibo' },
- { name: 'QQ', icon: 'qq' },
- ],
- [
- { name: 'Link', icon: 'link' },
- { name: 'Poster', icon: 'poster' },
- { name: 'Qrcode', icon: 'qrcode' },
- { name: 'Weapp Qrcode', icon: 'weapp-qrcode' },
- ],
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ [
+ { name: 'Wechat', icon: 'wechat' },
+ { name: 'Weibo', icon: 'weibo' },
+ { name: 'QQ', icon: 'qq' },
],
+ [
+ { name: 'Link', icon: 'link' },
+ { name: 'Poster', icon: 'poster' },
+ { name: 'Qrcode', icon: 'qrcode' },
+ { name: 'Weapp Qrcode', icon: 'weapp-qrcode' },
+ ],
+ ];
+
+ return {
+ options,
+ showShare,
+ };
+ },
+};
+```
+
+### Custom Icon
+
+```html
+
+```
+
+```js
+import { ref } from 'vue';
+
+export default {
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ {
+ name: 'Name',
+ icon: 'https://img.yzcdn.cn/vant/custom-icon-fire.png',
+ },
+ {
+ name: 'Name',
+ icon: 'https://img.yzcdn.cn/vant/custom-icon-light.png',
+ },
+ {
+ name: 'Name',
+ icon: 'https://img.yzcdn.cn/vant/custom-icon-water.png',
+ },
+ ];
+
+ return {
+ options,
+ showShare,
};
},
};
@@ -90,17 +134,22 @@ export default {
```
```js
+import { ref } from 'vue';
+
export default {
- data() {
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ { name: 'Wechat', icon: 'wechat' },
+ { name: 'Weibo', icon: 'weibo' },
+ { name: 'Link', icon: 'link', description: 'Description' },
+ { name: 'Poster', icon: 'poster' },
+ { name: 'Qrcode', icon: 'qrcode' },
+ ];
+
return {
- showShare: false,
- options: [
- { name: 'Wechat', icon: 'wechat' },
- { name: 'Weibo', icon: 'weibo' },
- { name: 'Link', icon: 'link', description: 'Description' },
- { name: 'Poster', icon: 'poster' },
- { name: 'Qrcode', icon: 'qrcode' },
- ],
+ options,
+ showShare,
};
},
};
diff --git a/src/share-sheet/README.zh-CN.md b/src/share-sheet/README.zh-CN.md
index 6536322e0..335f96db4 100644
--- a/src/share-sheet/README.zh-CN.md
+++ b/src/share-sheet/README.zh-CN.md
@@ -31,26 +31,30 @@ app.use(ShareSheet);
```
```js
+import { ref } from 'vue';
import { Toast } from 'vant';
export default {
- data() {
- return {
- showShare: false,
- options: [
- { name: '微信', icon: 'wechat' },
- { name: '微博', icon: 'weibo' },
- { name: '复制链接', icon: 'link' },
- { name: '分享海报', icon: 'poster' },
- { name: '二维码', icon: 'qrcode' },
- ],
- };
- },
- methods: {
- onSelect(option) {
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ { name: '微信', icon: 'wechat' },
+ { name: '微博', icon: 'weibo' },
+ { name: '复制链接', icon: 'link' },
+ { name: '分享海报', icon: 'poster' },
+ { name: '二维码', icon: 'qrcode' },
+ ];
+
+ const onSelect = (option) => {
Toast(option.name);
- this.showShare = false;
- },
+ showShare.value = false;
+ };
+
+ return {
+ options,
+ onSelect,
+ showShare,
+ };
},
};
```
@@ -68,23 +72,28 @@ export default {
```
```js
+import { ref } from 'vue';
+
export default {
- data() {
- return {
- showShare: false,
- options: [
- [
- { name: '微信', icon: 'wechat' },
- { name: '微博', icon: 'weibo' },
- { name: 'QQ', icon: 'qq' },
- ],
- [
- { name: '复制链接', icon: 'link' },
- { name: '分享海报', icon: 'poster' },
- { name: '二维码', icon: 'qrcode' },
- { name: '小程序码', icon: 'weapp-qrcode' },
- ],
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ [
+ { name: '微信', icon: 'wechat' },
+ { name: '微博', icon: 'weibo' },
+ { name: 'QQ', icon: 'qq' },
],
+ [
+ { name: '复制链接', icon: 'link' },
+ { name: '分享海报', icon: 'poster' },
+ { name: '二维码', icon: 'qrcode' },
+ { name: '小程序码', icon: 'weapp-qrcode' },
+ ],
+ ];
+
+ return {
+ options,
+ showShare,
};
},
};
@@ -99,24 +108,29 @@ export default {
```
```js
+import { ref } from 'vue';
+
export default {
- data() {
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ {
+ name: '名称',
+ icon: 'https://img.yzcdn.cn/vant/custom-icon-fire.png',
+ },
+ {
+ name: '名称',
+ icon: 'https://img.yzcdn.cn/vant/custom-icon-light.png',
+ },
+ {
+ name: '名称',
+ icon: 'https://img.yzcdn.cn/vant/custom-icon-water.png',
+ },
+ ];
+
return {
- showShare: false,
- options: [
- {
- name: '名称',
- icon: 'https://img.yzcdn.cn/vant/custom-icon-fire.png',
- },
- {
- name: '名称',
- icon: 'https://img.yzcdn.cn/vant/custom-icon-light.png',
- },
- {
- name: '名称',
- icon: 'https://img.yzcdn.cn/vant/custom-icon-water.png',
- },
- ],
+ options,
+ showShare,
};
},
};
@@ -136,17 +150,22 @@ export default {
```
```js
+import { ref } from 'vue';
+
export default {
- data() {
+ setup() {
+ const showShare = ref(false);
+ const options = [
+ { name: '微信', icon: 'wechat' },
+ { name: '微博', icon: 'weibo' },
+ { name: '复制链接', icon: 'link', description: '描述信息' },
+ { name: '分享海报', icon: 'poster' },
+ { name: '二维码', icon: 'qrcode' },
+ ];
+
return {
- showShare: false,
- options: [
- { name: '微信', icon: 'wechat' },
- { name: '微博', icon: 'weibo' },
- { name: '复制链接', icon: 'link', description: '描述信息' },
- { name: '分享海报', icon: 'poster' },
- { name: '二维码', icon: 'qrcode' },
- ],
+ options,
+ showShare,
};
},
};
diff --git a/src/share-sheet/demo/index.vue b/src/share-sheet/demo/index.vue
index 2dde9fef8..8c4460377 100644
--- a/src/share-sheet/demo/index.vue
+++ b/src/share-sheet/demo/index.vue
@@ -40,121 +40,122 @@
-