Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c99baf7

Browse files
committed
perf: ⚡remove redundant props
1 parent f533984 commit c99baf7

File tree

27 files changed

+335
-392
lines changed

27 files changed

+335
-392
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"nprogress": "^1.0.0-1",
3535
"qrcode": "^1.4.4",
3636
"qs": "^6.10.1",
37-
"vant": "^3.1.2",
37+
"vant": "3.1.2",
3838
"vue": "3.1.4",
3939
"vue-router": "^4.0.10",
4040
"vuedraggable": "^4.0.3",

preview/views/comp-render.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,26 @@
11
/*
22
* @Author: 卜启缘
33
* @Date: 2021-05-04 05:36:58
4-
* @LastEditTime: 2021-06-25 08:47:18
4+
* @LastEditTime: 2021-07-04 17:21:34
55
* @LastEditors: 卜启缘
66
* @Description:
77
* @FilePath: \vite-vue3-lowcode\preview\views\comp-render.tsx
88
*/
99
import { defineComponent, PropType } from 'vue'
1010
import type { VisualEditorBlockData, VisualEditorConfig } from '@/visual-editor/visual-editor.utils'
11+
import { visualConfig } from '@/visual.config'
1112

1213
export default defineComponent({
1314
name: 'CompRender',
1415
props: {
1516
element: {
1617
type: Object as PropType<VisualEditorBlockData>,
1718
default: () => ({})
18-
},
19-
config: {
20-
type: Object as PropType<VisualEditorConfig>,
21-
default: () => ({})
2219
}
2320
},
2421
setup(props) {
2522
return () =>
26-
props.config.componentMap[props.element.componentKey].render({
23+
visualConfig.componentMap[props.element.componentKey].render({
2724
size: {},
2825
props: props.element.props || {},
2926
model: {},

preview/views/preview.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<!--
22
* @Author: 卜启缘
33
* @Date: 2021-06-01 09:45:21
4-
* @LastEditTime: 2021-07-04 08:59:57
4+
* @LastEditTime: 2021-07-04 17:21:47
55
* @LastEditors: 卜启缘
66
* @Description:
77
* @FilePath: \vite-vue3-lowcode\preview\views\preview.vue
88
-->
99
<template>
1010
<template v-for="outItem in blocks" :key="outItem._vid">
11-
<slot-item :element="outItem" :models="models" :actions="actions" :config="visualConfig" />
11+
<slot-item :element="outItem" :models="models" :actions="actions" />
1212
</template>
1313
</template>
1414

1515
<script lang="ts">
1616
import { defineComponent, reactive, toRefs, onMounted } from 'vue'
1717
import { Toast } from 'vant'
18-
import { visualConfig } from '@/visual.config'
18+
1919
import { CacheEnum } from '@/enums'
2020
import type { VisualEditorModelValue } from '@/visual-editor/visual-editor.utils'
2121
import SlotItem from './slot-item.vue'
@@ -70,8 +70,7 @@ export default defineComponent({
7070
return {
7171
...toRefs(state),
7272
actions: jsonData.actions,
73-
models: jsonData.models,
74-
visualConfig
73+
models: jsonData.models
7574
}
7675
}
7776
})

preview/views/slot-item.vue

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<!--
22
* @Author: 卜启缘
33
* @Date: 2021-06-12 22:18:48
4-
* @LastEditTime: 2021-07-04 12:59:13
4+
* @LastEditTime: 2021-07-05 10:18:22
55
* @LastEditors: 卜启缘
66
* @Description:
77
* @FilePath: \vite-vue3-lowcode\preview\views\slot-item.vue
88
-->
99
<template>
1010
<div class="__slot-item">
11-
<comp-render :element="element" :config="config" v-on="events">
11+
<comp-render :element="element" v-on="events">
1212
<template v-for="(value, key) in element.props?.slots" :key="key" #[key]>
1313
<template v-for="item in value?.children" :key="item._vid">
14-
<slot-item :element="item" :config="config" :models="models" :actions="actions" />
14+
<slot-item :element="item" :models="models" :actions="actions" />
1515
</template>
1616
</template>
1717
</comp-render>
@@ -46,10 +46,6 @@ export default defineComponent({
4646
models: {
4747
type: Object as PropType<VisualEditorModel[]>,
4848
default: () => ({})
49-
},
50-
config: {
51-
type: Object,
52-
default: () => ({})
5349
}
5450
},
5551
setup(props) {
@@ -58,9 +54,10 @@ export default defineComponent({
5854
prev[curr.event] = async () => {
5955
for (const handle of curr.handle) {
6056
const [scopeType, actionType, handleKey] = handle.link
61-
if (scopeType == 'global') {
57+
if (scopeType === 'global') {
6258
const apis: FetchApiItem[] = props.actions[actionType].apis
6359
const { data, options } = apis.find((item) => item.key == handleKey)!
60+
const pramsObj = {}
6461
await request({
6562
...options,
6663
headers: {
@@ -71,7 +68,7 @@ export default defineComponent({
7168
password: '123456'
7269
}
7370
})
74-
} else if (scopeType == 'component') {
71+
} else if (scopeType === 'component') {
7572
}
7673
}
7774
}

src/packages/base-widgets/datetimePicker/index.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
createEditorSelectProp,
1010
createEditorSwitchProp
1111
} from '@/visual-editor/visual-editor.props'
12-
import { reactive } from 'vue'
12+
import { getCurrentInstance, reactive } from 'vue'
1313
import { isDate } from '@/visual-editor/utils/is'
1414
import dayjs from 'dayjs'
1515

@@ -24,10 +24,13 @@ const dateType = {
2424
export default {
2525
key: 'datetimePicker',
2626
moduleName: 'baseWidgets',
27-
label: '表单项类型 - 选择器',
27+
label: '表单项类型 - 时间选择器',
2828
preview: () => <Field name="datetimePicker" label="时间选择器" placeholder={'点击选择'}></Field>,
2929
render: ({ size, block, props }) => {
3030
const { registerRef } = useGlobalProperties()
31+
32+
const { attrs } = getCurrentInstance()!
33+
3134
const state = reactive({
3235
showPicker: false,
3336
text: '',
@@ -63,10 +66,11 @@ export default {
6366
)
6467
}}
6568
/>
66-
<Popup v-model={[state.showPicker, 'show', ['modifier']]} position={'bottom'}>
69+
<Popup v-model={[state.showPicker, 'show']} position={'bottom'}>
6770
<DatetimePicker
6871
ref={(el) => registerRef(el, block._vid)}
6972
{...props}
73+
{...attrs}
7074
v-model={state.currentDate}
7175
onConfirm={onConfirm}
7276
onCancel={() => (state.showPicker = false)}

src/packages/base-widgets/picker/index.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* @Author: 卜启缘
33
* @Date: 2021-06-01 09:45:21
4-
* @LastEditTime: 2021-07-04 16:58:50
4+
* @LastEditTime: 2021-07-05 10:18:29
55
* @LastEditors: 卜启缘
66
* @Description: 表单项类型 - 选择器
77
* @FilePath: \vite-vue3-lowcode\src\packages\base-widgets\picker\index.tsx
@@ -15,7 +15,7 @@ import {
1515
createEditorInputProp,
1616
createEditorModelBindProp
1717
} from '@/visual-editor/visual-editor.props'
18-
import { reactive } from 'vue'
18+
import { reactive, getCurrentInstance } from 'vue'
1919

2020
export default {
2121
key: 'picker',
@@ -24,6 +24,9 @@ export default {
2424
preview: () => <Field name="picker" label="选择器" placeholder={'点击选择'}></Field>,
2525
render: ({ size, block, props }) => {
2626
const { registerRef } = useGlobalProperties()
27+
28+
const { attrs } = getCurrentInstance()!
29+
2730
const state = reactive({
2831
showPicker: false,
2932
text: '',
@@ -42,7 +45,6 @@ export default {
4245
const onConfirm = (value) => {
4346
props.modelValue = value.value
4447
state.text = value[props.valueKey || 'text']
45-
state.showPicker = false
4648
console.log(props)
4749
}
4850

@@ -72,6 +74,7 @@ export default {
7274
<Picker
7375
ref={(el) => registerRef(el, block._vid)}
7476
{...props}
77+
{...attrs}
7578
defaultIndex={state.defaultIndex}
7679
columnsFieldNames={customFieldName}
7780
onConfirm={onConfirm}

src/plugins/element-plus.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* @Author: 卜启缘
33
* @Date: 2021-04-22 02:10:31
4-
* @LastEditTime: 2021-06-27 14:58:03
4+
* @LastEditTime: 2021-07-05 11:39:10
55
* @LastEditors: 卜启缘
66
* @Description: 按需导入element-plus
77
* @FilePath: \vite-vue3-lowcode\src\plugins\element-plus.ts
@@ -10,7 +10,15 @@ import 'element-plus/packages/theme-chalk/src/base.scss'
1010
// import 'element-plus/lib/theme-chalk/index.css'
1111
// import 'element-plus/lib/theme-chalk/el-popper.css'
1212
import type { App } from 'vue'
13-
import { ElInfiniteScroll } from 'element-plus'
13+
14+
import { ElInfiniteScroll, locale } from 'element-plus'
15+
16+
import lang from 'element-plus/lib/locale/lang/zh-cn'
17+
import 'dayjs/locale/zh-cn'
18+
19+
// 设置语言
20+
import.meta.env.DEV ? locale(lang) : locale.use(lang)
21+
1422
export const setupElementPlus = (app: App) => {
1523
app.use(ElInfiniteScroll)
1624
}

src/visual-editor/components/left-aside/components/base-widgets/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* @Author: 卜启缘
33
* @Date: 2021-06-01 13:22:14
4-
* @LastEditTime: 2021-06-23 11:40:10
4+
* @LastEditTime: 2021-07-04 21:36:26
55
* @LastEditors: 卜启缘
66
* @Description: 基础组件
77
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\base-widgets\index.tsx
@@ -15,6 +15,9 @@ import DraggableTransitionGroup from '@/visual-editor/components/simulator-edito
1515

1616
export default defineComponent({
1717
name: 'BaseWidgets',
18+
label: '基本组件',
19+
order: 3,
20+
icon: 'el-icon-edit',
1821
setup() {
1922
const baseWidgets = ref(visualConfig.componentModules.baseWidgets)
2023

src/visual-editor/components/left-aside/components/container-component/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* @Author: 卜启缘
33
* @Date: 2021-06-01 13:22:14
4-
* @LastEditTime: 2021-06-25 09:10:19
4+
* @LastEditTime: 2021-07-04 21:36:46
55
* @LastEditors: 卜启缘
66
* @Description:
77
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\container-component\index.tsx
@@ -16,6 +16,9 @@ import type { VisualEditorComponent } from '@/visual-editor/visual-editor.utils'
1616

1717
export default defineComponent({
1818
name: 'ContainerComponent',
19+
label: '容器组件',
20+
icon: 'el-icon-suitcase',
21+
order: 4,
1922
setup() {
2023
const log = (evt) => {
2124
window.console.log(evt)

src/visual-editor/components/left-aside/components/custom-component/index.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
<!--自定义组件-->
2-
<template>自定义组件</template>
1+
<!--业务组件-->
2+
<template>业务组件</template>
33

44
<script>
55
export default {
6-
name: 'CustomComponent'
6+
name: 'CustomComponent',
7+
label: '业务组件',
8+
order: 5,
9+
icon: 'el-icon-upload'
710
}
811
</script>
912

0 commit comments

Comments
 (0)