uniapp微信小程序按钮分享定制动态传参

打印 onShareAppMessage 中的传参(注意:上方我定义了一个open-type为share的按钮)

打印之后如下:

给按钮绑定  data-id  可以在这里的  dataset  中取到 

然后根据  from  的值来动态返回分享的参数

示例代码:

<template>
	<view class="container">
		<view v-for="(item,index) in 2" :key="index" class="item flexRowCenterAll" @click="todo">
			<view class="left flexColumn">
				<text class="inf">报价单名称:工商报价单</text>
				<text class="inf">客户:张三</text>
				<text class="inf">创建时间:2024.05.02 13:02:05</text>
			</view>
			<view class="right flexColumnCenterAll">
				<text style="color: #0581FE;margin-bottom: 16rpx;">已同步客户</text>
				<view class="flexRowCenterAll">
					<button class="shareBtn" :data-id="1" open-type="share" @click.stop>
						<u-icon name="share-fill" color="#2979ff" size="28"></u-icon>
					</button>
					<u-icon name="list-dot" color="#2979ff" size="28" @click.stop="showMenu"></u-icon>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default{
		onShareAppMessage(res){
			console.log(res);
			if(res.from == 'button'){
				let id = res.target.dataset.id
				let name = res.target.dataset.name
				return {
					path:'',
					title:``
				}
			}
		},
		methods:{
			showMenu(){
				uni.showActionSheet({
					itemList:[
						'编辑报价单',
						'同步至客户',
						'删除'
					]
				})
			},
			todo(){
				console.log('1111');
			}
		}
	}
</script>

<style lang="scss" scoped>
	.container{
		.item{
			padding: 16rpx;
			justify-content: space-between;
			background: white;
			border-bottom: 1rpx solid #efefef;
			font-size: 24rpx;
			.inf{
				margin-bottom: 16rpx;
				&:last-child{ margin-bottom: 0; }
			}
			.shareBtn{
				background: transparent;
				border: none;
				&::after{
					border: none;
				}
			}
		}
	}
</style>

  • 15
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

某公司摸鱼前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值