diff --git a/docs/dev_readme.md b/docs/dev_readme.md
index 0ecb24e..20f28d8 100644
--- a/docs/dev_readme.md
+++ b/docs/dev_readme.md
@@ -20,7 +20,23 @@
两种方法表单设计器支持内容一致,也都支持流程,差别只是UI方面。建议在设计业务模块优先使用代码模版。
-## 在Tab页中打开表单/流程
+### 如何定义onChange/blur事件
+
+所有的事件都在字段的events中,如change、blur,没有on,主表单的函数定义为
+```javascript
+function change(schema, formModel, formApi, { formData }) {
+
+}
+```
+明细表的函数参数定义为
+```javascript
+function change({ column, row, rowIndex, formModel }) {
+
+}
+```
+这两个定义的formModel都可以取到全部表单的值,也可以赋值做修改。
+
+### 如何在Tab页中打开表单/流程
如果你需要自己编程实现Tab页跳转,或者升级旧版框架的页面,可以参考下面步骤:
```typescript
const { currentRoute } = useRouter();
@@ -82,7 +98,7 @@ onMounted(async () => {
emits('form-mounted', formProps); // 补上这一句
});
```
-## 如何修改选项卡标题
+### 如何修改选项卡标题
```javascript
import { useMultipleTabStore } from '/@/store/modules/multipleTab';
import { useRouter } from 'vue-router';
@@ -97,7 +113,7 @@ tabStore.changeTitle(fullPath, `选项卡标题`);
tabStore.closeTab(currentRoute, router);
```
-## 如何在表单二开中自定义布局
+### 如何在表单二开中自定义布局
```vue
@@ -109,7 +125,7 @@ tabStore.closeTab(currentRoute, router);
```
-## 如何添加自定义校验
+### 如何添加自定义校验
可以在config.ts中定义,componentProps里默认有空的rules数组,可以自己添加,antd vue所有支持的校验都可以在这里使用。
```javascript
{
@@ -122,84 +138,12 @@ tabStore.closeTab(currentRoute, router);
]
}
```
-## 如何设置字段联动
+### 如何设置数据源字段联动
编辑器中选择Api即可配置字段联动,只要在magic-api配置参数即可,参数值可以直接选择表单或者明细表字段。
选择字典没有效果。
-## 如何在表单二开中定义字段
-下面的代码为一个支持多层加载的级联选择器,同时值和文字描述分开存储,不会在表单打开时加载数据:
-```vue
-
-
-
-
-
- {{ formModel.jiLianWenZi5194 || '请选择' }}
-
-
-
-```
-这里特别注意下,因为cascade的值为数组,而数组在数据库是不能存储的,所以这里cascadeValue为数组值,a-input里存储的为逗号分开的id。
-
-特别注意,FormItem在本框架里获取值依靠form的validate方法,因此FormItem里必须有**antd vue的表单元素**,如果为纯手动开发的组件,建议用一个a-input储存表单值。
-
-脚本部分
-```vue
-
-```
-
-## 如何在新建流程时,从其他表单带数据过来
+### 如何在新建流程时,从其他表单带数据过来
这里的例子是从列表创建单据,其余的场景可以参考此修改。
首先在模版里加入新建单据的按钮:
diff --git a/docs/表单二开/5_自定义表单字段.md b/docs/表单二开/5_自定义表单字段.md
new file mode 100644
index 0000000..0652fc6
--- /dev/null
+++ b/docs/表单二开/5_自定义表单字段.md
@@ -0,0 +1,66 @@
+# 如何在表单二开中定义字段
+首先,需要按照文档**1_拆分表单**将表单拆开,分解成独立字段。
+
+下面的代码为一个支持多层加载的级联选择器,同时值和文字描述分开存储,不会在表单打开时加载数据:
+```vue
+
+
+
+
+
+
+
+
+
+ {{ formModel.jiLianWenZi5194 || '请选择' }}
+
+
+
+```
+这里特别注意下,因为cascade的值为数组,而数组在数据库是不能存储的,所以这里cascadeValue为数组值,a-input里存储的为逗号分开的id。
+
+特别注意,FormItem在本框架里获取值依靠form的validate方法,因此FormItem里必须有**antd vue的表单元素**,如果为纯手动开发的组件,建议用一个a-input储存表单值。
+
+脚本部分
+```vue
+
+```