diff --git a/src/App.vue b/src/App.vue
index 39dcb5c..20636df 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,27 +1,58 @@
@@ -81,6 +254,25 @@ const schema = reactive([
Http://
.com
+
+
+ {{ item.value }}
+ {{ item.link }}
+
+
+
+ {{ item.label }}
+ {{
+ item.value
+ }}
+
+
+
+ {{ item.label }}
+ {{
+ item.value
+ }}
+
diff --git a/src/components/Form/src/VForm.vue b/src/components/Form/src/VForm.vue
index 879b598..56fe051 100644
--- a/src/components/Form/src/VForm.vue
+++ b/src/components/Form/src/VForm.vue
@@ -1,7 +1,7 @@
-
-
diff --git a/src/components/Form/src/componentMap.ts b/src/components/Form/src/componentMap.ts
index 376df7d..f271a8f 100644
--- a/src/components/Form/src/componentMap.ts
+++ b/src/components/Form/src/componentMap.ts
@@ -19,7 +19,7 @@ import {
ElDivider
} from 'element-plus'
-const COMPONENT_MAP: Recordable = {
+const componentMap: Recordable = {
Radio: ElRadioGroup,
Checkbox: ElCheckboxGroup,
Input: ElInput,
@@ -39,4 +39,4 @@ const COMPONENT_MAP: Recordable = {
SelectV2: ElSelectV2
}
-export { COMPONENT_MAP }
+export { componentMap }
diff --git a/src/components/Form/src/components/Checkbox.vue b/src/components/Form/src/components/Checkbox.vue
deleted file mode 100644
index e69de29..0000000
diff --git a/src/components/Form/src/components/Radio.vue b/src/components/Form/src/components/Radio.vue
deleted file mode 100644
index e69de29..0000000
diff --git a/src/components/Form/src/components/Select.vue b/src/components/Form/src/components/Select.vue
deleted file mode 100644
index e69de29..0000000
diff --git a/src/components/Form/src/helper.ts b/src/components/Form/src/helper.ts
index 92a92de..8670b2a 100644
--- a/src/components/Form/src/helper.ts
+++ b/src/components/Form/src/helper.ts
@@ -110,8 +110,8 @@ export function setItemComponentSlots(
for (const key in slotsProps) {
if (slotsProps[key]) {
// 由于组件有可能重复,需要有一个唯一的前缀
- slotObj[key] = () => {
- return getSlot(slots, `${field}-${key}`)
+ slotObj[key] = (data: Recordable) => {
+ return getSlot(slots, `${field}-${key}`, data)
}
}
}
diff --git a/src/locales/en.ts b/src/locales/en.ts
index f7d0a48..75d4083 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -4,5 +4,18 @@ export default {
selectText: 'Please select',
startTimeText: 'Start time',
endTimeText: 'End time'
+ },
+ formDemo: {
+ input: 'Input',
+ inputNumber: 'InputNumber',
+ default: 'Default',
+ icon: 'Icon',
+ mixed: 'Mixed',
+ textarea: 'Textarea',
+ slot: 'Slot',
+ position: 'Position',
+ autocomplete: 'Autocomplete',
+ select: 'Select',
+ group: 'Select Group'
}
}
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index 340b78b..eacc517 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -4,5 +4,18 @@ export default {
selectText: '请选择',
startTimeText: '开始时间',
endTimeText: '结束时间'
+ },
+ formDemo: {
+ input: '输入框',
+ inputNumber: '数字输入框',
+ default: '默认',
+ icon: '图标',
+ mixed: '复合型',
+ textarea: '多行文本',
+ slot: '插槽',
+ position: '位置',
+ autocomplete: '自动补全',
+ select: '选择器',
+ group: '选项分组'
}
}
diff --git a/src/main.ts b/src/main.ts
index bbfc0d6..e998ae6 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -5,6 +5,10 @@ import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
+// 引入element-plus
+import { setupElementPlus } from '@/plugins/elementPlus'
+setupElementPlus(app)
+
// 引入状态管理
import { setupStore } from '@/store'
setupStore(app)
diff --git a/src/plugins/elementPlus/index.ts b/src/plugins/elementPlus/index.ts
new file mode 100644
index 0000000..97b9a05
--- /dev/null
+++ b/src/plugins/elementPlus/index.ts
@@ -0,0 +1,16 @@
+import type { App } from 'vue'
+
+// 需要全局引入一些组件,如ElScrollbar,不然一些下拉项样式有问题
+import { ElLoading, ElScrollbar } from 'element-plus'
+
+const plugins = [ElLoading]
+const components = [ElScrollbar]
+
+export function setupElementPlus(app: App) {
+ plugins.forEach((plugin) => {
+ app.use(plugin)
+ })
+ components.forEach((component) => {
+ app.component(component.name, component)
+ })
+}
diff --git a/src/types/componentType.d.ts b/src/types/componentType.d.ts
index aa901aa..3c6b636 100644
--- a/src/types/componentType.d.ts
+++ b/src/types/componentType.d.ts
@@ -58,6 +58,7 @@ declare global {
disabled?: boolean
key?: string | number
children?: FormOptions[]
+ options?: FormOptions[]
[key: string]: any
}
@@ -76,6 +77,7 @@ declare global {
value?: FormValueTypes
options?: FormOptions[]
optionsField?: FormOptionsAlias
+ optionsSlot?: boolean
hidden?: boolean
}