From b93c68790f9782ffe27c672f178945b3be88d9f4 Mon Sep 17 00:00:00 2001 From: lhbxs <596850703@qq.com> Date: Fri, 5 Jan 2024 00:28:08 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=A8=20table-render?= =?UTF-8?q?=20onSearch=20=E6=96=B9=E6=B3=95=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/table-render/index.md | 5 ++++- packages/table-render/src/core/SearchView/index.tsx | 5 +++++ tools/schema-builder/package.json | 2 +- tools/schema-builder/src/createIframe.ts | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/table-render/index.md b/docs/table-render/index.md index 860b438be..80c224612 100644 --- a/docs/table-render/index.md +++ b/docs/table-render/index.md @@ -108,7 +108,10 @@ const Demo = () => { return ( alert(1), + }} request={api} columns={columns} title='最简表格' diff --git a/packages/table-render/src/core/SearchView/index.tsx b/packages/table-render/src/core/SearchView/index.tsx index 533e6466a..719d83249 100644 --- a/packages/table-render/src/core/SearchView/index.tsx +++ b/packages/table-render/src/core/SearchView/index.tsx @@ -11,6 +11,7 @@ const Search: ( refresh, getState, onMount, + onSearch, watch: _watch, mode, form, @@ -40,6 +41,10 @@ const Search: ( }; const handleSearch = (data: any) => { + if (typeof onSearch === 'function') { + onSearch(data); + } + refresh({ ...data, sorter }); }; diff --git a/tools/schema-builder/package.json b/tools/schema-builder/package.json index df52a0dca..793700025 100644 --- a/tools/schema-builder/package.json +++ b/tools/schema-builder/package.json @@ -1,6 +1,6 @@ { "name": "@xrenders/schema-builder", - "version": "1.0.0-alpha.15", + "version": "1.0.0-alpha.17", "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成", "keywords": [ "Form", diff --git a/tools/schema-builder/src/createIframe.ts b/tools/schema-builder/src/createIframe.ts index 5cc45f1ac..7d321a6d7 100644 --- a/tools/schema-builder/src/createIframe.ts +++ b/tools/schema-builder/src/createIframe.ts @@ -11,7 +11,7 @@ const createIframeContent = () => { - + + `; From 45446c0455807e065910a94769d833146478202e Mon Sep 17 00:00:00 2001 From: lhbxs <596850703@qq.com> Date: Fri, 5 Jan 2024 00:49:13 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=20getSchemaFullP?= =?UTF-8?q?ath=20=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/table-render/index.md | 5 +---- packages/form-render/src/models/formCoreUtils.ts | 6 +++--- packages/table-render/src/core/SearchView/index.tsx | 1 - 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/table-render/index.md b/docs/table-render/index.md index 80c224612..860b438be 100644 --- a/docs/table-render/index.md +++ b/docs/table-render/index.md @@ -108,10 +108,7 @@ const Demo = () => { return ( alert(1), - }} + search={{ schema }} request={api} columns={columns} title='最简表格' diff --git a/packages/form-render/src/models/formCoreUtils.ts b/packages/form-render/src/models/formCoreUtils.ts index 20abeaea1..ade6ab364 100644 --- a/packages/form-render/src/models/formCoreUtils.ts +++ b/packages/form-render/src/models/formCoreUtils.ts @@ -141,11 +141,11 @@ export const getSchemaFullPath = (path: string, schema: any) => { // 补全 object 类型 path 路径 let result = 'properties'; - (path.split('.')).forEach(item => { + const pathList = path.split('.'); + pathList.forEach((item, index) => { const key = result + '.' + item; const itemSchema = _get(schema, key, {}); - - if (isObjType(itemSchema)) { + if (isObjType(itemSchema) && index !== pathList.length-1) { result = key + '.properties'; return ; } diff --git a/packages/table-render/src/core/SearchView/index.tsx b/packages/table-render/src/core/SearchView/index.tsx index 719d83249..0a9aa7ffb 100644 --- a/packages/table-render/src/core/SearchView/index.tsx +++ b/packages/table-render/src/core/SearchView/index.tsx @@ -44,7 +44,6 @@ const Search: ( if (typeof onSearch === 'function') { onSearch(data); } - refresh({ ...data, sorter }); }; From 9022f7734ec21f54321fa79cd339f8ba3534fe32 Mon Sep 17 00:00:00 2001 From: lhbxs <596850703@qq.com> Date: Fri, 5 Jan 2024 01:06:04 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0widgetTypes?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E9=97=AE=E9=A2=98=E8=AF=B4=E6=98=8E=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/form-render/faq.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/form-render/faq.md b/docs/form-render/faq.md index 01d524578..a46f4631e 100644 --- a/docs/form-render/faq.md +++ b/docs/form-render/faq.md @@ -23,3 +23,18 @@ toc: false form-render 有生命周期的概念,请在 onMount 这个钩子里 set。 +##### 3. type 为 object 类型自定义组件没有接收到 value 与 onChange 属性 + +例如下面这种 Schema 结构的自定义组件,2.x 会判定它是容器组件并非表单控件,那如何解决这种误判呢?增加一个 widgetType: 'field' +```js +{ + type: "object", + widget: "WidgetObj", + properties: { + name: { + title: "name", + type: "string", + } + } +} +``` \ No newline at end of file From 2e68d2b64a32d3264a55cbb82677ab54be9ab950 Mon Sep 17 00:00:00 2001 From: lhbxs <596850703@qq.com> Date: Fri, 5 Jan 2024 01:11:27 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0widgetTypes?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E9=97=AE=E9=A2=98=E8=AF=B4=E6=98=8E=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/form-render/CHANGELOG.md | 2 ++ packages/form-render/package.json | 2 +- packages/table-render/CHANGELOG.md | 5 ++++- packages/table-render/package.json | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/form-render/CHANGELOG.md b/packages/form-render/CHANGELOG.md index cad02ee1c..31dc1f768 100644 --- a/packages/form-render/CHANGELOG.md +++ b/packages/form-render/CHANGELOG.md @@ -1,5 +1,7 @@ # 更新日志 +### 2.3.8 +- [!] 修复 schema 多层嵌套下,getSchemaByPath 获取异常 ### 2.3.7 - [+] 增加 antdVersion 配置字段,对应值 'v4' | 'v5',用于处理 ant v4 与 v5 API 不兼容性警告提示,例如 visible & open,默认是 v5 版本。 diff --git a/packages/form-render/package.json b/packages/form-render/package.json index 1dfddfcab..1c6fdaac2 100644 --- a/packages/form-render/package.json +++ b/packages/form-render/package.json @@ -1,6 +1,6 @@ { "name": "form-render", - "version": "2.3.7", + "version": "2.3.8", "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成", "keywords": [ "Form", diff --git a/packages/table-render/CHANGELOG.md b/packages/table-render/CHANGELOG.md index bfc82da45..c194ef38d 100644 --- a/packages/table-render/CHANGELOG.md +++ b/packages/table-render/CHANGELOG.md @@ -1,5 +1,8 @@ # 更新日志 +### 2.1.4 +-[!] 修复 onSearch 方法缺失 + ### 2.0.18 -[!] 修复 table-render 切换 pageSize 无效 ### 2.0.17 @@ -23,4 +26,4 @@ -[+] table-render 新版发布上线,props 调整 ### 2.0.0 -- [+] form-render 2.0 正式发版 +- [+] table-render 2.0 正式发版 diff --git a/packages/table-render/package.json b/packages/table-render/package.json index 70d4b1131..5b9ddcde7 100644 --- a/packages/table-render/package.json +++ b/packages/table-render/package.json @@ -1,6 +1,6 @@ { "name": "table-render", - "version": "2.1.3", + "version": "2.1.4", "description": "中后台表格解决方案", "keywords": [ "TableRender",