uni-app实现复制 组件 js

1.创建一个js文件

export default function uniCopy({content,success,error}) {
	
	content = typeof content === 'string' ? content : content.toString() // 复制内容,必须字符串,数字需要转换为字符串
	
	/**
	 * 小程序端 和 app端的复制逻辑
	 */
	//#ifndef H5
	uni.setClipboardData({
		data: content,
		success: function() {
			success("复制成功~")
			// console.log('success');
		},
		fail:function(){
			success("复制失败~")
		}
	});
	//#endif
	
	/**
	 * H5端的复制逻辑
	 */
	// #ifdef H5
	if (!document.queryCommandSupported('copy')) { //为了兼容有些浏览器 queryCommandSupported 的判断
		// 不支持
		error('浏览器不支持')
	}
	let textarea = document.createElement("textarea")
	textarea.value = content
	textarea.readOnly = "readOnly"
	document.body.appendChild(textarea)
	textarea.select() // 选择对象
	textarea.setSelectionRange(0, content.length) //核心
	let result = document.execCommand("copy") // 执行浏览器复制命令
	textarea.remove()
	success("复制成功~")
	// #endif
}

2.在需要调用的地方引入这个js文件(我因为是在lib目录下创建的名字为uni-copy.js的文件)

import uniCopy from '@/lib/uni-copy.js'

//调用
methods: {
		onCopy(item){
			uniCopy({
				content: item.code,//复制的内容
				success: (res) => {
					uni.showToast({
						title: res,
						icon: 'none'
					})
				},
				error: (e) => {
					uni.showToast({
						title: e,
					})
				}
			})
		},	
}

<view class="opt-btn col_c" @click.stop="onCopy">复制id</view>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值