@@ -2,8 +2,8 @@ import { clipboardKey } from "@/plugins/injectionKey";
import { inject } from "vue";
const useClipboard = () => {
- const { $copyText } = inject(clipboardKey)!;
- return { $copyText };
+ const clipboard = inject(clipboardKey)!;
+ return clipboard;
};
export default useClipboard;
@@ -1,5 +1,6 @@
import { App } from "vue";
import { Button, ConfigProvider, Layout, Menu, Modal } from "ant-design-vue";
+import VueClipboard3 from "./vue-clipboard";
import { ModalConfirmKey } from "./injectionKey";
@@ -8,6 +9,7 @@ const install = (app: App<Element>) => {
app.config.globalProperties.$confirm = Modal.confirm;
return app
+ .use(VueClipboard3)
.use(ConfigProvider)
.use(Layout)
.use(Menu)
@@ -1,3 +1,26 @@
<template>
- <div>page 1</div>
-</template>
+ <div>page 1
+ <a-button @click="doCopy">复制</a-button>
+ </div>
+</template>
+
+<script lang="ts">
+import useClipboard from "@/hooks/useClipboard";
+import { defineComponent, onMounted } from "vue";
+const Page1 = defineComponent({
+ setup() {
+ const clip = useClipboard();
+ const doCopy = () => {
+ clip.$copyText("copy success");
+ };
+ return {
+ doCopy,
+ },
+});
+export default Page1;
+</script>