diff --git a/docs/zh/ecosystem-d2-crud/example.md b/docs/zh/ecosystem-d2-crud/example.md
index 455a64b9..6b70eb86 100644
--- a/docs/zh/ecosystem-d2-crud/example.md
+++ b/docs/zh/ecosystem-d2-crud/example.md
@@ -28,3 +28,5 @@
| 修改数据 | [点我查看](https://fairyever.gitee.io/d2-admin-preview/#/demo/d2-crud/demo17) |
| 删除数据 | [点我查看](https://fairyever.gitee.io/d2-admin-preview/#/demo/d2-crud/demo18) |
| 自定义操作列 | [点我查看](https://fairyever.gitee.io/d2-admin-preview/#/demo/d2-crud/demo19) |
+| 表单组件渲染 | [点我查看](https://fairyever.gitee.io/d2-admin-preview/#/demo/d2-crud/demo20) |
+| 表单布局 | [点我查看](https://fairyever.gitee.io/d2-admin-preview/#/demo/d2-crud/demo21) |
diff --git a/src/menu/modules/demo-d2-crud.js b/src/menu/modules/demo-d2-crud.js
index 0a8242fc..eddfdd5c 100644
--- a/src/menu/modules/demo-d2-crud.js
+++ b/src/menu/modules/demo-d2-crud.js
@@ -30,7 +30,9 @@ export default {
{ path: `${pre}demo16`, title: '新增数据' },
{ path: `${pre}demo17`, title: '修改数据' },
{ path: `${pre}demo18`, title: '删除数据' },
- { path: `${pre}demo19`, title: '自定义操作列' }
+ { path: `${pre}demo19`, title: '自定义操作列' },
+ { path: `${pre}demo20`, title: '表单组件渲染' },
+ { path: `${pre}demo21`, title: '表单布局' }
]
}
])('/demo/d2-crud/')
diff --git a/src/pages/demo/d2-crud/demo20/code.js b/src/pages/demo/d2-crud/demo20/code.js
new file mode 100644
index 00000000..022eafc2
--- /dev/null
+++ b/src/pages/demo/d2-crud/demo20/code.js
@@ -0,0 +1,133 @@
+export default `
+
+
+
+
+
+`
diff --git a/src/pages/demo/d2-crud/demo20/doc.md b/src/pages/demo/d2-crud/demo20/doc.md
new file mode 100644
index 00000000..b8d13e4d
--- /dev/null
+++ b/src/pages/demo/d2-crud/demo20/doc.md
@@ -0,0 +1 @@
+向 `form-template` 的 `component` 对象传入 `name` 属性来控制渲染的组件,默认为 `el-input` ,支持的组件有 `el-input-number` `el-radio` `el-checkbox` `el-select` `el-cascader` `el-switch` `el-slider` `el-time-select` `el-time-picker` `el-date-picker` `el-rate` `el-color-picker` 以及使用 `render函数` 自己渲染。代码如下:
diff --git a/src/pages/demo/d2-crud/demo20/index.vue b/src/pages/demo/d2-crud/demo20/index.vue
new file mode 100644
index 00000000..190db2bc
--- /dev/null
+++ b/src/pages/demo/d2-crud/demo20/index.vue
@@ -0,0 +1,149 @@
+
+
+ 表单组件渲染
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/demo/d2-crud/demo21/code.js b/src/pages/demo/d2-crud/demo21/code.js
new file mode 100644
index 00000000..f61c65e1
--- /dev/null
+++ b/src/pages/demo/d2-crud/demo21/code.js
@@ -0,0 +1,117 @@
+export default `
+
+
+
+
+
+`
diff --git a/src/pages/demo/d2-crud/demo21/doc.md b/src/pages/demo/d2-crud/demo21/doc.md
new file mode 100644
index 00000000..7ca59dde
--- /dev/null
+++ b/src/pages/demo/d2-crud/demo21/doc.md
@@ -0,0 +1 @@
+向 `form-options` 中传入 `gutter` 属性来控制栅格间隔,向 `form-template` 的 `component` 对象传入 `span` 属性来控制栅格占据的列数。代码如下:
diff --git a/src/pages/demo/d2-crud/demo21/index.vue b/src/pages/demo/d2-crud/demo21/index.vue
new file mode 100644
index 00000000..73f97132
--- /dev/null
+++ b/src/pages/demo/d2-crud/demo21/index.vue
@@ -0,0 +1,133 @@
+
+
+ 表单布局
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/router/routes.js.REMOVED.git-id b/src/router/routes.js.REMOVED.git-id
index e8badca6..b66b7fd2 100644
--- a/src/router/routes.js.REMOVED.git-id
+++ b/src/router/routes.js.REMOVED.git-id
@@ -1 +1 @@
-26b368ef188e9a3e98907e503a2e01368c4ad328
\ No newline at end of file
+34f3401ccfbf14961d3133c729fe297d08339396
\ No newline at end of file