ブログの投稿ログ

2021年
9月
8月
7月
6月

Vueでテキストコピーボタンを作る

でも

vue-clipboard2を使って対象をコピーする例を書いていきたいと思います。

// App.js

import Vue from "vue";
import App from "./App.vue";
// ライブラリをインポート
import VueClipboard from "vue-clipboard2";

Vue.config.productionTip = false;
// useに入れる
Vue.use(VueClipboard);

new Vue({
  render: (h) => h(App)
}).$mount("#app");

// HelloWorld.vue

<template>
  <div class="hello">
    <p>
      // textを受け取る
      {{ text }}
      // v-clipboard:copyでコピーしたい対象を書く
      <button v-clipboard:copy="text">COPY</button>
    </p>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  computed: {
    // textを定義
    text: () => {
      return "1234abcd!#$%";
    },
  },
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>