Skip to content

Commit c46aa26

Browse files
committed
fix(view): 全局引入 vue-clipboard2
1 parent d37490e commit c46aa26

File tree

4 files changed

+21
-26
lines changed

4 files changed

+21
-26
lines changed

admin/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
},
2121
"dependencies": {
2222
"axios": ">=0.18.1",
23-
"clipboard": "^2.0.4",
2423
"echarts": "^4.2.1",
2524
"element-ui": "2.7.2",
2625
"js-cookie": "2.2.0",
@@ -30,6 +29,7 @@
3029
"nprogress": "0.2.0",
3130
"path-to-regexp": "2.4.0",
3231
"vue": "2.6.10",
32+
"vue-clipboard2": "^0.3.0",
3333
"vue-router": "3.0.6",
3434
"vuex": "3.1.0",
3535
"xlsx": "^0.14.3"

admin/src/main.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ import '@/permission' // permission control
1919

2020
// set ElementUI lang to EN
2121
// Vue.use(ElementUI, { locale })
22+
import VueClipboard from 'vue-clipboard2'
23+
24+
Vue.use(VueClipboard)
2225
Vue.use(ElementUI)
2326

2427
Vue.config.productionTip = false

admin/src/router/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ const routeBase = [
220220
{ path: '/excel', name: 'excel', component: () => import('@/views/home/excel'), hidden: true },
221221
{ path: '/upload', name: 'upload', component: () => import('@/views/home/upload'), hidden: true },
222222
{ path: '/websocket', name: 'websocket', component: () => import('@/views/home/websocket'), hidden: true },
223+
{ path: '/clipboard', name: 'clipboard', component: () => import('@/views/home/clipboard'), hidden: true },
223224
{ path: '/echarts', name: 'echarts', component: () => import('@/views/echarts/index'), hidden: true },
224225
// { path: '/index', component: () => import('@/views/home/index'), hidden: true },
225226
{ path: '/login', component: () => import('@/views/login/index'), hidden: true },

admin/src/views/home/clipboard.vue

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,30 @@
11
<template>
2-
<div>
3-
<div slot="content" @click="copy">>点击复制</div>
4-
<input type="text" class="tag-read" value="" v-model="input">
2+
<div class="container">
3+
<input v-model="message" type="text">
4+
<button type="button" @click="doCopy('add me!')">Copy!</button>
55
</div>
66
</template>
7-
8-
<script type="text/ecmascript-6">
9-
import Clipboard from 'clipboard'
10-
7+
<script>
118
export default {
12-
name: 'Clipboard',
139
data() {
1410
return {
15-
input: 'Hello'
11+
message: 'Copy These Text'
1612
}
1713
},
1814
methods: {
19-
copy() {
20-
const clipboard = new Clipboard('.tag-read')
21-
clipboard.on('success', e => {
22-
console.log('复制成功') // 这里你如果引入了elementui的提示就可以用,没有就注释即可
23-
// 释放内存
24-
clipboard.destroy()
25-
})
26-
clipboard.on('error', e => {
27-
// 不支持复制
28-
console.log('该浏览器不支持自动复制')
29-
// 释放内存
30-
clipboard.destroy()
15+
dataProcessing(val) {
16+
this.message = this.message + ' ' + val
17+
},
18+
doCopy(val) {
19+
this.dataProcessing(val)
20+
this.$copyText(this.message).then(function(e) {
21+
alert('Copied')
22+
console.log(e)
23+
}, function(e) {
24+
alert('Can not copy')
25+
console.log(e)
3126
})
3227
}
3328
}
3429
}
3530
</script>
36-
37-
<style lang="stylus" rel="stylesheet/stylus">
38-
39-
</style>

0 commit comments

Comments
 (0)