Skip to content

Commit 3db46f5

Browse files
committed
feat: 🎸 改用 vueuse 的 inject
1 parent 6e14d38 commit 3db46f5

File tree

11 files changed

+3727
-2949
lines changed

11 files changed

+3727
-2949
lines changed

‎doc/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"vue": "^3.2.45",
2525
"vue-demi": "^0.13.11",
2626
"vue-i18n": "^9.2.2",
27-
"vue-modal-provider": "^0.4.0",
27+
"vue-modal-provider": "^0.4.1",
2828
"vue-router": "^4.1.6"
2929
},
3030
"devDependencies": {

‎doc/pnpm-lock.yaml‎

Lines changed: 5 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎example/App.vue‎

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,13 @@
22
// This starter template is using Vue 3 <script setup> SFCs
33
// Check out https://vuejs.org/api/sfc-script-setup.html#script-setup
44
import HelloWorld from "./components/HelloWorld.vue";
5-
import { ModalProvider } from "../src";
5+
import { ModalProvider, useModal, useModalRef } from "../src";
6+
7+
const modal = useModal(HelloWorld);
68
</script>
79

810
<template>
911
<ModalProvider>
10-
<div>
11-
<a href="https://vitejs.dev" target="_blank">
12-
<!-- <img src="/vite.svg" class="logo" alt="Vite logo" /> -->
13-
</a>
14-
<a href="https://vuejs.org/" target="_blank">
15-
<img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
16-
</a>
17-
</div>
1812
<HelloWorld />
1913
</ModalProvider>
2014
</template>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<template>
2+
<Modal v-model="visible">
3+
<div @click="close()">close child</div>
4+
5+
{{ visible ? "show" : "false" }}
6+
</Modal>
7+
</template>
8+
<script lang="ts" setup>
9+
import Modal from "./Modal.vue";
10+
import { useModalRef } from "../../src";
11+
import { inject } from "vue";
12+
const props = defineProps<{ msg: number }>();
13+
const { args, visible, hide, remove, reject, resolve } = useModalRef();
14+
15+
const close = () => {
16+
resolve();
17+
hide();
18+
19+
remove();
20+
};
21+
</script>
Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
<template>
22
<Modal v-model="visible">
3-
{{ msg }}
3+
<div @click="close()">close father</div>
44

5+
<div @click="childModal.show()">open child</div>
56
{{ visible ? "show" : "false" }}
67
</Modal>
78
</template>
89
<script lang="ts" setup>
910
import Modal from "./Modal.vue";
10-
import { useModalRef } from "../../src";
11+
import { useModal, useModalRef } from "../../src";
1112
import { inject } from "vue";
13+
import ChildTest from "./ChildTest.vue";
1214
const props = defineProps<{ msg: number }>();
13-
const { args, visible, hide } = useModalRef();
14-
let one = inject("test");
15+
16+
const childModal = useModal(ChildTest);
17+
const { args, visible, hide, remove, reject, resolve } = useModalRef();
18+
19+
const close = () => {
20+
hide();
21+
resolve();
22+
remove();
23+
};
1524
</script>

‎package.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
"email": "1292077619@qq.com"
9393
},
9494
"dependencies": {
95+
"@vueuse/core": "^10.11.0",
9596
"vue": "^3.4.23"
9697
},
9798
"devDependencies": {

0 commit comments

Comments
 (0)