不再用 clipboard.js 了,所以:

        
HTML
123456
<!-- 这就是剪贴板载体,想办法视觉隐藏就可以 --> <input type="text" v-model="clipboardText" class="clipboard-input" ref="clipboard"> <button @click="copyToClipboard('123')"></button> <button @click="copyToClipboard('abc')"></button> <button @click="copyToClipboard('789')"></button>
        
CSS
1234
.clipboard-input { height: 0px; opacity: 0; }
        
JavaScript
123456789101112131415161718
export default { data() { return { clipboardText: '' } }, methods: { copyToClipboard(text) { console.log('要复制这个文本:', text) this.clipboardText = text // $nextTick 在这里没用 setTimeout(() => { this.$refs.clipboard.select() document.execCommand('Copy') }) } } }

好,完