diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 7565be1c85e..93b17f9a164 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -8,6 +8,9 @@ - 新增主框架外页面示例 - `route.meta` 新增`currentActiveMenu`,`hideTab`,`hideMenu`参数 用于控制详情页面包屑级菜单显示隐藏。 - 新增面包屑导航示例 +- form: 新增`suffix`属性,用于配置后缀内容 +- form: 新增远程下拉`ApiSelect`及示例 +- form: 新增`autoFocusFirstItem`配置。用于配置是否聚焦表单第一个输入框 ### 🐛 Bug Fixes diff --git a/mock/demo/select-demo.ts b/mock/demo/select-demo.ts new file mode 100644 index 00000000000..d56440618f7 --- /dev/null +++ b/mock/demo/select-demo.ts @@ -0,0 +1,24 @@ +import { MockMethod } from 'vite-plugin-mock'; +import { resultSuccess } from '../_util'; + +const demoList = (() => { + const result: any[] = []; + for (let index = 0; index < 20; index++) { + result.push({ + label: `选项${index}`, + value: `${index}`, + }); + } + return result; +})(); + +export default [ + { + url: '/api/select/getDemoOptions', + timeout: 4000, + method: 'get', + response: ({ query }) => { + return resultSuccess(demoList); + }, + }, +] as MockMethod[]; diff --git a/package.json b/package.json index 7af8cb78450..773b474463c 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@iconify/iconify": "^2.0.0-rc.4", - "@vueuse/core": "^4.0.0", + "@vueuse/core": "^4.0.1", "ant-design-vue": "^2.0.0-rc.5", "apexcharts": "^3.23.0", "axios": "^0.21.1", @@ -35,7 +35,7 @@ "path-to-regexp": "^6.2.0", "qrcode": "^1.4.4", "sortablejs": "^1.12.0", - "vditor": "^3.7.3", + "vditor": "^3.7.4", "vue": "^3.0.4", "vue-i18n": "9.0.0-beta.14", "vue-router": "^4.0.1", @@ -48,7 +48,7 @@ "devDependencies": { "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", - "@iconify/json": "^1.1.276", + "@iconify/json": "^1.1.277", "@ls-lint/ls-lint": "^1.9.2", "@purge-icons/generated": "^0.4.1", "@types/echarts": "^4.9.3", diff --git a/src/api/demo/model/optionsModel.ts b/src/api/demo/model/optionsModel.ts new file mode 100644 index 00000000000..0702aae4811 --- /dev/null +++ b/src/api/demo/model/optionsModel.ts @@ -0,0 +1,11 @@ +import { BasicFetchResult } from '/@/api/model/baseModel'; + +export interface DemoOptionsItem { + label: string; + value: string; +} + +/** + * @description: Request list return value + */ +export type DemoOptionsGetResultModel = BasicFetchResult; diff --git a/src/api/demo/select.ts b/src/api/demo/select.ts new file mode 100644 index 00000000000..6703e3d09f9 --- /dev/null +++ b/src/api/demo/select.ts @@ -0,0 +1,16 @@ +import { defHttp } from '/@/utils/http/axios'; +import { DemoOptionsGetResultModel } from './model/optionsModel'; + +enum Api { + OPTIONS_LIST = '/select/getDemoOptions', +} + +/** + * @description: Get sample options value + */ +export function optionsListApi() { + return defHttp.request({ + url: Api.OPTIONS_LIST, + method: 'GET', + }); +} diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index fd2f697fabe..b43f88c3475 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -1,6 +1,6 @@