首页 > 其他分享 >vue3 + vue-clipboard3 复制文本到剪切板

vue3 + vue-clipboard3 复制文本到剪切板

时间:2023-01-17 16:44:30浏览次数:38  
标签:vue text clipboard3 window 复制 vue3 message

1.安装

yarn add vue-clipboard3

2.引入

import useClipboard from 'vue-clipboard3';

3.html部分

<n-button tertiary type="primary" ref="copyBtn" @click="copyPath()">
                复制地址
              </n-button>

4.js部分

<script setup lang="ts">
//一键复制
const { toClipboard } = useClipboard();
const copyPreviewPath = async (text?: string) => {
  try {
    await toClipboard('这里传入要复制的文本内容');
    window["$message"].success(text || "复制成功!");
  } catch (e) {
    console.error(e);
    window["$message"].error("复制失败!您的浏览器不支持复制功能!");
  }
};
</script>

5.遇到的坑

当按钮在模态框中时,复制功能会失效(百度说:模态框修改了焦点,额,不太懂);

处理办法:将第4步的标红部分改为,即传入按钮的dom对象:

let copyBtn = ref<any>(null);//定义按钮的dom对象

const copyPreviewPath = async (text?: string) => {
  try {
    await toClipboard('这里传入要复制的文本内容',copyBtn.value.$el); 
   window["$message"].success(text || "复制成功!");
} catch (e) {
  console.error(e);
  window["$message"].error("复制失败!您的浏览器不支持复制功能!");
  }
};

 

标签:vue,text,clipboard3,window,复制,vue3,message
From: https://www.cnblogs.com/duanzhenzhen/p/17058146.html

相关文章

  • vue-cli/webpack4.x 打包--webpack配置--样式
    css有的时候你想要向webpack的预处理器loader传递选项。可以使用 vue.config.js 中的 css.loaderOptions 选项。比如你可以这样向所有Less样式传入共享的全局......
  • vue 如何将打包时间记录到html的head里面
    在vue.config.js文件中,对chainWebpack的配置进行设置chainWebpack(config){config.plugin('html').tap(args=>{constdate=newDate()......
  • vue-cli/webpack4.x 打包--打包文件输出
    runtimeCompiler ture:runtime-compiler  template开发false:runtime-only     jsx语法开发publicPathvue.config.js中配置打包基路径p......
  • vue-cli/webpack4.x 打包--webpack配置--devServer
    devServer.env.development 配置全局变量#代理配置VUE_APP_BASE_IP='http://192.128.15.157:15530'VUE_APP_BASE_API='/api'vue.config.js 中配置  devS......
  • vue脚手架—render函数
    一、关于不同版本Vue:1.vue.js和vue.runtime..js的区别:(1)vue.js是完整版的Vue,包含核心功能+模板解析器(2)vue.runtime..js是运行版的Vue,只包含核心功能,没有模板解析器......
  • vue-cli/webpack4.x 打包--兼容IE等低版本浏览器
    依赖版本  "babel-polyfill":"^6.26.0",  "core-js":"3.21.1",  "regenerator-runtime":"0.13.5",main.js引入vue.config.js配置 transpileDe......
  • vue项目引入svg图标(完整步骤)
    1.安装svg依赖在vue中首先需要安装可以加载svg的依赖。npm安装:npminstallsvg-sprite-loader--save-dev2.创建svg文件夹存放svg图标创建icons文件夹,在icons文件夹下......
  • 小满Vue3第四十六章(Proxy跨域)
    1.首先我们先了解一下什么是跨域主要是出于浏览器的同源策略限制,它是浏览器最核心也最基本的安全功能。当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不......
  • 小满Vue3第四十五章(Vue3 Web Components)
    什么是 WebComponentsWebComponents提供了基于原生支持的、对视图层的封装能力,可以让单个组件相关的javaScript、css、html模板运行在以html标签为界限的局部环境中,不......
  • Vue3 响应式原理
     响应式原理Vue2使用的是 Object.defineProperty Vue3使用的是Proxy2.0的不足对象只能劫持设置好的数据,新增的数据需要Vue.Set(xxx) 数组只能操作七种方法,修改某......