91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vuejs如何實現復制功能

發布時間:2021-11-02 14:56:10 來源:億速云 閱讀:388 作者:iii 欄目:編程語言

這篇文章主要講解了“vuejs如何實現復制功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vuejs如何實現復制功能”吧!

vuejs實現復制功能的方法:1、創建一個copyComm.js的文件;2、創建一個directives.js文件來注冊所有的全局指令;3、通過“return{copyText:'...'}”實現復制即可。

vuejs如何實現復制功能

本文操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

vuejs怎么實現復制功能?

vue.js實現一鍵copy功能

vuejs如何實現復制功能

1,首先建一個copyComm.js的文件

const vCopy = { // 名字愛取啥取啥
  /*
    bind 鉤子函數,第一次綁定時調用,可以在這里做初始化設置
    el: 作用的 dom 對象
    value: 傳給指令的值,也就是我們要 copy 的值
  */
  bind(el, { value }) {
    el.$value = value; // 用一個全局屬性來存傳進來的值,因為這個值在別的鉤子函數里還會用到
    el.handler = () => {
      if (!el.$value) {
        // 值為空的時候,給出提示,我這里的提示是用的 ant-design-vue 的提示,你們隨意
       console.log('無復制內容');
        return;
      }
      // 動態創建 textarea 標簽
      const textarea = document.createElement('textarea');
      // 將該 textarea 設為 readonly 防止 iOS 下自動喚起鍵盤,同時將 textarea 移出可視區域
      textarea.readOnly = 'readonly';
      textarea.style.position = 'absolute';
      textarea.style.left = '-9999px';
      // 將要 copy 的值賦給 textarea 標簽的 value 屬性
      textarea.value = el.$value;
      // 將 textarea 插入到 body 中
      document.body.appendChild(textarea);
      // 選中值并復制
      textarea.select();
      textarea.setSelectionRange(0, textarea.value.length);
      const result = document.execCommand('Copy');
      if (result) {
        console.log('復制成功');
      }
      document.body.removeChild(textarea);
    };
    // 綁定點擊事件,就是所謂的一鍵 copy 啦
    el.addEventListener('click', el.handler);
  },
  // 當傳進來的值更新的時候觸發
  componentUpdated(el, { value }) {
    el.$value = value;
  },
  // 指令與元素解綁的時候,移除事件綁定
  unbind(el) {
    el.removeEventListener('click', el.handler);
  },
};
export default vCopy;

2,在建一個directives.js文件來注冊所有的全局指令

import copy from './copyComm.js';
// 自定義指令
const directives = {
  copy,
};
// 這種寫法可以批量注冊指令
export default {
  install(Vue) {
    Object.keys(directives).forEach((key) => {
      Vue.directive(key, directives[key]);
    });
  },
};

3,在main.js注冊

import Vue from 'vue';
import Directives from './directives';
Vue.use(Directives);

4,vue文件使用

<template>
  <div >
    <button v-copy="copyText">拷貝</button>
  </div>
</template>
<script>
  export default {
    data(){
      return {
        copyText:'要copy的內容'
      }
    },
    methods: {
      init () {
      },
    },
    watch: {},
    props: [],
    components: {},
    computed: {},
    mounted () {
      _this = this;
      _this.init();
    },
  }
</script>

感謝各位的閱讀,以上就是“vuejs如何實現復制功能”的內容了,經過本文的學習后,相信大家對vuejs如何實現復制功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎城县| 张家港市| 故城县| 陵川县| 台南市| 新沂市| 洪洞县| 金塔县| 竹溪县| 绥芬河市| 韩城市| 台前县| 昭苏县| 邓州市| 江达县| 霍山县| 武胜县| 甘德县| 木里| 青阳县| 进贤县| 陆良县| 鄂尔多斯市| 龙陵县| 达日县| 织金县| 固始县| 新建县| 报价| 拜城县| 遂溪县| 黎川县| 南投市| 江门市| 五大连池市| 桂阳县| 广元市| 增城市| 望奎县| 巴林左旗| 巫溪县|