@aliretail/react-dynamic-delivery
Version:
127 lines (94 loc) • 5.08 kB
Markdown
---
title: Linkage Map
order: 40
category: UI
description: linkage 枚举
screenshot: https://gw.alicdn.com/imgextra/i2/O1CN01yW3hCD1M8CnqeKFlq_!!6000000001389-2-tps-90-90.png
---
```
// 总结构
// 当linkage是对象时,表述的单个执行事件
// 当linkage是数组时,表述的是多个复合执行事件
type linkage = {
type: String; // 事件类型
fields: Record<string, object>; // 相应事件类型的配置
} | string[];
```
| 类型 | 说明 |
| ----------- | ------------------ |
| router | 路由相关(跳转等) |
| submit | 表单提交 |
| reset | 表单初始化 |
| setComValue | 设置某个组件的值 |
| sleep | 睡眠 xx ms |
| toast | 显示 toast |
| validate | 进行整个表单的校验 |
路由相关,跳转、打开新页面
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
| ---------- | ------------------------------------------------------------------------------------- | -------------------- | -------- | -------- |
| appCode | 跳转应用 code, isSelfPage = false 时必填 | String | N | - |
| pageCode | 跳转的页面 code, isSelfPage = false 时必填 | String | N | - |
| url | 页面跳转的完整 url 地址,使用则不使用纪元的跳转方式,优先级低与 appCode 和 isSelfPage | String | N | - |
| type | 跳转方式 'jump' - 跳转(会关闭当前页面)'openPage' - 新开页面 | 'jump' \| 'openPage' | F | openPage |
| isSelfPage | 是否是跳转到本页面 | boolean | F | false |
| refresh | 跳转是否刷新页面 | boolean | F | true |
| params | 跳转携带的参数 | TParams | F | {} |
提交当前页面的所有数据到指定接口
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
| ------- | ------------------- | ------- | -------- | ------ |
| appCode | 提交接口的应用 code | String | N | - |
| apiCode | 提交接口的接口 code | String | N | - |
| url | 提交接口的 url | String | N | - |
| params | 提交携带的参数 | TParams | F | {} |
设置某个已经在 data 中描述的组件值
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
| ------ | -------- | -------- | -------- | ------ |
| target | 事件集合 | IEvent[] | T | [] |
IEvent
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
| ---- | ------------------------------------------------------ | ------ | -------- | ------- |
| com | 组件名称 | String | T | - |
| type | 要更改的类型 'formItemConfig' \| 'value' \| 'others' | String | F | 'value' |
| key | 要更改的类型相应的 key, 如果 type='value',则不需要 key | String | F | - |
| val | 要更改相应 key 的目标值 | any | T | - |
睡眠 xx ms
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
| ---- | ------------------ | ------ | -------- | ------ |
| time | 睡眠时间 单位: ms | Number | F | 1000 |
显示提示
| 参数 | 说明 | 类型 | 是否必填 | 默认值 |
| -------- | ------------------ | -------------------------------- | -------- | -------- |
| type | 提示类型 | 'success' \| 'notice' \| 'error' | F | 'notice' |
| duration | 持续时间 单位: ms | Number | F | 3000 |
| content | 提示内容 | String | F | '' |
进行整个表单的校验
```typescript
// 从「url search参数」、「页面内form表单的值」、「自定义设置」收集参数转成VO模式
// 当 内容是 string 类型时,优先从 「页面内form表单的值」获取值
type TParams = Record<string, string> | Array<string | Record<string, string>>;
// e.g
// 当 url: https://www.taobao.com?id=1&name=jack
// 页面form表单的值是 {id: '2', age: 19}
params: [
'id',
'name',
{
mode: 'edit',
},
]; // => {id:'2', mode: 'edit', name: 'jack'}
```