A Vuejs2 and Vuejs3 binding for clipboard.js, based on vue-clipboard2. That's awsome✨
npm install vue-clipboard-plusA simple Vuejs2 and Vuejs3 binding for clipboard.js, based on vue-clipboard2. That's awsome!✨
Thanks to Inndy/vue-clipboard2 for inspiration! ❤️❤️
npm install --save vue-clipboard-plus or use dist/cdnlink-vue-clipboard-plus.min.js with script tag in html
For Vue2, it's usage is the same as vue-clipboard2, https://github.com/Inndy/vue-clipboard2
For Vue3, it's a little bit difference
For vue-cli user:
``javascriptFor Vue2
import Vue from 'vue'
import VueClipboard from 'vue-clipboard2'
Vue.use(VueClipboard)
const app = createApp(App)
app.use(VueClipboard).mount('#app')
`
For standalone usage:
`html
`
See clipboardjs document and this pull request, container option is available like this:
`js
// For Vue2
let container = this.$refs.container
this.$copyText("Text to copy", container)
// For Vue3
const {getCurrentInstance} = Vue
// inside setup function
const {ctx:_this} = getCurrentInstance()
let container = _this.$refs.container
_this.$copyText("Text to copy", container)
`
Or you can let vue-clipboard2 set container to current element by doing this:
`js
// For Vue2
import Vue from 'vue'
import VueClipboard from 'vue-clipboard-plus'
VueClipboard.config.autoSetContainer = true // add this line
Vue.use(VueClipboard)
// For Vue3
import {createApp} from 'vue'
import VueClipboard from 'vue-clipboard-plus'
import App from './App.vue'
VueClipboard.config.autoSetContainer = true // add this line
const app = createApp(App)
app.use(VueClipboard).mount('#app')
`
`html
v-clipboard:copy="message"
v-clipboard:success="done">Copy!
`
`html
``
For more samples, you can find them on /samples/
PRs welcome, and issues as well! If you want any feature that we don't have currently,
please fire an issue for a feature request.