diff --git a/src/ui/components/FaImagePreview/index.ts b/src/ui/components/FaImagePreview/index.ts
new file mode 100644
index 00000000..380fd7b3
--- /dev/null
+++ b/src/ui/components/FaImagePreview/index.ts
@@ -0,0 +1,20 @@
+import Preview from './preview.vue'
+
+export function useFaImagePreview() {
+ function open(src: string) {
+ const container = document.createElement('div')
+ const app = createApp({
+ render() {
+ return h(Preview, {
+ modelValue: true,
+ src,
+ })
+ },
+ })
+ app.mount(container)
+ }
+
+ return {
+ open,
+ }
+}
diff --git a/src/ui/components/FaImagePreview/index.vue b/src/ui/components/FaImagePreview/index.vue
index 3270688d..02e8d25f 100644
--- a/src/ui/components/FaImagePreview/index.vue
+++ b/src/ui/components/FaImagePreview/index.vue
@@ -1,7 +1,7 @@
@@ -148,40 +60,6 @@ function handleAnimationEnd() {
-
+
diff --git a/src/ui/components/FaImagePreview/preview.vue b/src/ui/components/FaImagePreview/preview.vue
new file mode 100644
index 00000000..50917a9d
--- /dev/null
+++ b/src/ui/components/FaImagePreview/preview.vue
@@ -0,0 +1,135 @@
+
+
+
+
+
diff --git a/src/views/component_built_in_example/imagepreview.vue b/src/views/component_built_in_example/imagepreview.vue
index 2a083859..ae708a42 100644
--- a/src/views/component_built_in_example/imagepreview.vue
+++ b/src/views/component_built_in_example/imagepreview.vue
@@ -3,6 +3,14 @@ meta:
enabled: false
+
+
@@ -24,5 +32,10 @@ meta:
+
+
+ 预览
+
+