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 @@ -