uni-app运行H5项目遇到的bug和实现复制功能。

1.报错的图片:
在这里插入图片描述
2.uni.setClipboardData(OBJECT)

//示例如下
uni.setClipboardData({
    data: 'hello',
    success: function () {
        console.log('success');
    }
});

在这里插入图片描述
3.实际项目中还是不能使用。

4.解决方法:
步骤如下:
1.安装 npm i clipboard --save
2.封装一个方法()

clipboard.js(这是一个js文件封装方法)

import Clipboard from 'clipboard'

 

export function handleClipboard (text, event, onSuccess, onError) {

  event = event || {}

  const clipboard = new Clipboard(event.target, {

    text: () => text

  })

  clipboard.on('success', () => {

    onSuccess()

    clipboard.off('error')

    clipboard.off('success')

    clipboard.destroy()

  })

  clipboard.on('error', () => {

    onError()

    clipboard.off('error')

    clipboard.off('success')

    clipboard.destroy()

  })

  clipboard.onClick(event)

}

3.页面中使用
vue

<view class="content_copy" @click="copy('需要复制的内容')">复制</view>

js

//引入这个js 并且调用这个方法{handleClipboard}
import {handleClipboard} from '../../utils/clipboard.js'
export default{
//自定义方法在methods中使用
 methods:{
             //复制
			 copy(data) {//这是一个点击事件
			   // #ifdef H5
			  handleClipboard(data, event, () => { //调用封装的复制方法
			    uni.showToast({//弹出
					// icon: 'none',//不显示图标
					icon: 'success',//显示图标
					title: '复制成功'
				})
			 }, ()=>{
				 uni.showToast({
			     icon: 'none',//不显示图标
			     title: '复制失败',
		       })
			})
			// #endif		 
		  },
   }
}

icon图标的选项看自己项目的需求来定义。
在这里插入图片描述
(vue、uni-app、h5)
总结:需要注意的是本地是否npm下载此插件成功,之后在创建js文件夹调用此方法实现功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值