UNPKG

bk-magic-vue

Version:

基于蓝鲸 Magicbox 和 Vue 的前端组件库

59 lines (54 loc) 1.75 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.library = {})); }(this, function (exports) { 'use strict'; var bkCopy = { bind: function bind(el, _ref, vnode) { var value = _ref.value; el.$value = value; el.copyHandler = function () { var that = vnode.context; if (!el.$value) { that.$bkMessage({ theme: 'warning', message: '无复制内容', delay: 2000, dismissable: false }); return; } var textarea = document.createElement('textarea'); textarea.readOnly = true; textarea.style.position = 'absolute'; textarea.style.left = '-9999px'; textarea.value = el.$value; document.body.appendChild(textarea); textarea.select(); var result = document.execCommand('Copy'); if (result) { that.$bkMessage({ theme: 'success', message: '复制成功', delay: 2000, dismissable: false }); } document.body.removeChild(textarea); }; el.addEventListener('click', el.copyHandler); }, componentUpdated: function componentUpdated(el, _ref2) { var value = _ref2.value; el.$value = value; }, unbind: function unbind(el) { el.removeEventListener('click', el.copyHandler); } }; bkCopy.install = function (Vue) { Vue.directive('bkCopy', bkCopy); }; exports.default = bkCopy; Object.defineProperty(exports, '__esModule', { value: true }); }));