尝试自定义节点

This commit is contained in:
2025-03-10 16:06:12 +08:00
parent 57120c002a
commit 6c33113092
6 changed files with 43 additions and 10 deletions

View File

@@ -0,0 +1,19 @@
<script setup>
import {ref} from "vue";
import {Button} from "ant-design-vue";
const message = ref('Vue Flow')
</script>
<template>
<div class="flow"></div>
<Button>{{ message}}</Button>
</template>
<style scoped>
.flow {
width: 10px;
height: 10px;
background-color: red;
}
</style>

View File

@@ -1,6 +1,6 @@
import {createApp} from 'vue' import {createApp} from 'vue'
import {createMemoryHistory, createRouter, createWebHistory} from 'vue-router' import {createRouter, createWebHistory} from 'vue-router'
import App from './App.vue' import App from '@/App.vue'
import {Layout, Menu} from 'ant-design-vue' import {Layout, Menu} from 'ant-design-vue'
import 'ant-design-vue/dist/reset.css' import 'ant-design-vue/dist/reset.css'
@@ -14,23 +14,23 @@ createApp(App)
{ {
name: 'home', name: 'home',
path: '/home', path: '/home',
component: () => import('./views/Home.vue'), component: () => import('@/views/Home.vue'),
}, },
{ {
name: 'management', name: 'management',
path: '/management', path: '/management',
component: () => import('./views/management/Index.vue'), component: () => import('@/views/management/Index.vue'),
redirect: '/management/overview', redirect: '/management/overview',
children: [ children: [
{ {
name: 'overview', name: 'overview',
path: 'overview', path: 'overview',
component: () => import('./views/management/Overview.vue'), component: () => import('@/views/management/Overview.vue'),
}, },
{ {
name: 'setting', name: 'setting',
path: 'setting', path: 'setting',
component: () => import('./views/management/Setting.vue'), component: () => import('@/views/management/Setting.vue'),
}, },
], ],
}, },

View File

@@ -1,6 +1,7 @@
<script setup> <script setup>
import {onMounted} from 'vue' import {createApp, onMounted} from 'vue'
import {amisRender} from '../utils.js' import {amisRender} from '@/utils.js'
import Flow from "@/components/Flow.vue";
const toastMessage = () => { const toastMessage = () => {
alert('click in vue') alert('click in vue')
@@ -29,6 +30,12 @@ onMounted(() => {
] ]
} }
} }
},
{
type: 'custom',
onMount: (dom, value, onChange, props) => {
createApp(Flow).mount(dom)
}
} }
] ]
} }

View File

@@ -1,6 +1,6 @@
<script setup> <script setup>
import {onMounted} from 'vue' import {onMounted} from 'vue'
import {amisRender} from '../../utils.js' import {amisRender} from '@/utils.js'
onMounted(() => { onMounted(() => {
amisRender( amisRender(

View File

@@ -1,6 +1,6 @@
<script setup> <script setup>
import {onMounted} from 'vue' import {onMounted} from 'vue'
import {amisRender} from '../../utils.js' import {amisRender} from '@/utils.js'
onMounted(() => { onMounted(() => {
amisRender( amisRender(

View File

@@ -1,9 +1,16 @@
import {defineConfig} from 'vite' import {defineConfig} from 'vite'
import obfuscatorPlugin from "vite-plugin-javascript-obfuscator"; import obfuscatorPlugin from "vite-plugin-javascript-obfuscator";
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import {fileURLToPath, URL} from 'node:url'
// https://vite.dev/config/ // https://vite.dev/config/
export default defineConfig({ export default defineConfig({
resolve: {
alias: {
'vue': 'vue/dist/vue.esm-bundler.js',
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
plugins: [ plugins: [
vue(), vue(),
obfuscatorPlugin({ obfuscatorPlugin({