feat: add reize components & demo (#4862)
* feat: resize component * chore: change positon of resize components * feat: add resize demo * chore: resize demo completed * chore: fix display number * chore: add infer comment * fix: move reszie demo to examples * fix: fix icon & removed scsspull/48/MERGE
parent
a89711610d
commit
8cc73cf59c
|
@ -222,5 +222,6 @@
|
|||
"commentTranslate.hover.enabled": false,
|
||||
"commentTranslate.multiLineMerge": true,
|
||||
"vue.server.hybridMode": true,
|
||||
"typescript.tsdk": "node_modules/typescript/lib"
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"oxc.enable": false
|
||||
}
|
||||
|
|
54
cspell.json
54
cspell.json
|
@ -4,53 +4,55 @@
|
|||
"language": "en,en-US",
|
||||
"allowCompoundWords": true,
|
||||
"words": [
|
||||
"clsx",
|
||||
"esno",
|
||||
"demi",
|
||||
"unref",
|
||||
"taze",
|
||||
"acmr",
|
||||
"antd",
|
||||
"lucide",
|
||||
"antdv",
|
||||
"astro",
|
||||
"brotli",
|
||||
"clsx",
|
||||
"defu",
|
||||
"demi",
|
||||
"echarts",
|
||||
"ependencies",
|
||||
"esno",
|
||||
"etag",
|
||||
"execa",
|
||||
"iconify",
|
||||
"iconoir",
|
||||
"intlify",
|
||||
"lockb",
|
||||
"lucide",
|
||||
"minh",
|
||||
"minw",
|
||||
"mkdist",
|
||||
"mockjs",
|
||||
"vitejs",
|
||||
"naiveui",
|
||||
"nocheck",
|
||||
"noopener",
|
||||
"noreferrer",
|
||||
"nprogress",
|
||||
"nuxt",
|
||||
"pinia",
|
||||
"prefixs",
|
||||
"publint",
|
||||
"qrcode",
|
||||
"shadcn",
|
||||
"sonner",
|
||||
"sortablejs",
|
||||
"styl",
|
||||
"taze",
|
||||
"ui-kit",
|
||||
"uicons",
|
||||
"unplugin",
|
||||
"unref",
|
||||
"vben",
|
||||
"vbenjs",
|
||||
"vueuse",
|
||||
"yxxx",
|
||||
"nuxt",
|
||||
"lockb",
|
||||
"astro",
|
||||
"ui-kit",
|
||||
"styl",
|
||||
"vnode",
|
||||
"nocheck",
|
||||
"prefixs",
|
||||
"vitepress",
|
||||
"antdv",
|
||||
"ependencies",
|
||||
"vite",
|
||||
"echarts",
|
||||
"sortablejs",
|
||||
"etag",
|
||||
"naiveui",
|
||||
"uicons",
|
||||
"iconoir"
|
||||
"vitejs",
|
||||
"vitepress",
|
||||
"vnode",
|
||||
"vueuse",
|
||||
"yxxx"
|
||||
],
|
||||
"ignorePaths": [
|
||||
"**/node_modules/**",
|
||||
|
|
|
@ -2,6 +2,7 @@ export * from './captcha';
|
|||
export * from './ellipsis-text';
|
||||
export * from './icon-picker';
|
||||
export * from './page';
|
||||
export * from './resize';
|
||||
export * from '@vben-core/form-ui';
|
||||
export * from '@vben-core/popup-ui';
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
export { default as VResize } from './resize.vue';
|
File diff suppressed because it is too large
Load Diff
|
@ -9,6 +9,9 @@
|
|||
"ellipsis": {
|
||||
"title": "文本省略"
|
||||
},
|
||||
"resize": {
|
||||
"title": "拖动调整"
|
||||
},
|
||||
"form": {
|
||||
"title": "表单",
|
||||
"basic": "基础表单",
|
||||
|
|
|
@ -228,6 +228,15 @@ const routes: RouteRecordRaw[] = [
|
|||
title: $t('examples.ellipsis.title'),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'VueResizeDemo',
|
||||
path: '/demos/resize/basic',
|
||||
component: () => import('#/views/examples/resize/basic.vue'),
|
||||
meta: {
|
||||
icon: 'material-symbols:resize',
|
||||
title: $t('examples.resize.title'),
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
<script lang="ts" setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
import { Page, VResize } from '@vben/common-ui';
|
||||
|
||||
const width = ref(200);
|
||||
const height = ref(200);
|
||||
const top = ref(200);
|
||||
const left = ref(200);
|
||||
|
||||
const resize = (newRect: {
|
||||
height: number;
|
||||
left: number;
|
||||
top: number;
|
||||
width: number;
|
||||
}) => {
|
||||
width.value = newRect.width;
|
||||
height.value = newRect.height;
|
||||
top.value = newRect.top;
|
||||
left.value = newRect.left;
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Page description="Resize组件基础示例" title="Resize组件">
|
||||
<div class="m-4 bg-blue-500 p-48 text-xl">
|
||||
{{
|
||||
`width: ${width}px, height: ${height}px, top: ${top}px, left: ${left}px`
|
||||
}}
|
||||
</div>
|
||||
|
||||
<VResize
|
||||
:h="200"
|
||||
:is-active="true"
|
||||
:w="200"
|
||||
:x="200"
|
||||
:y="200"
|
||||
@dragging="resize"
|
||||
@resizing="resize"
|
||||
>
|
||||
<div class="h-full w-full bg-red-500"></div>
|
||||
</VResize>
|
||||
</Page>
|
||||
</template>
|
Loading…
Reference in New Issue