README.md 3.1 KB
Newer Older
KK's avatar
KK committed
1
## 导航参数说明
KK's avatar
KK committed
2

KK's avatar
KK committed
3
导航参数有两个部分,分别是导航上下文参数(`SRFNAVCTX`)和导航参数(`SRFNAVPARAM`
KK's avatar
KK committed
4

KK's avatar
KK committed
5
### 配置相关
KK's avatar
KK committed
6

KK's avatar
KK committed
7
#### 示例:
KK's avatar
KK committed
8

KK's avatar
KK committed
9 10 11 12 13 14
```typescript
ITEMPARAM={ param: {'n_xx_id':'%field4%'}, context: {'XXXXid': '%majorentityname%'} }
SRFNAVPARAM.test = test
SRFNAVPARAM.test1 = %majorentityname%
SRFNAVCTX.ctx = %srforgid%
SRFNAVCTX.ctx1 = ctx1
KK's avatar
KK committed
15
```
KK's avatar
KK committed
16 17 18
#### 对象运行时:

```typescript
KK's avatar
KK committed
19 20 21 22
context:{ CTX:"%srforgid%", CTX1:"ctx1", XXXXID:"%majorentityname%" } 
param:{ test1:"%majorentityname%", test:"test", n_xx_id:"%majorentityname%" } 
```

KK's avatar
KK committed
23
上下文参数支持变量,变量使用两个百分号定义,如%param% ,上下文参数变量计算源来自上下文参数,如把当前用户标识`srfuserid`放入上下文参数用户`USER`上,可以这么定义 ```{USER:’%srfuserid%’}```
KK's avatar
KK committed
24

KK's avatar
KK committed
25
#### 配置方法
KK's avatar
KK committed
26

KK's avatar
KK committed
27
##### 默认方法
KK's avatar
KK committed
28

KK's avatar
KK committed
29
导航参数的默认配置为 使用**SRFNAVPARAM.** 或者 **SRFNAVCTX.** 前缀
KK's avatar
KK committed
30

KK's avatar
KK committed
31
##### 场景技巧
KK's avatar
KK committed
32

KK's avatar
KK committed
33
对不同的场景有着不同的配置技巧
KK's avatar
KK committed
34

KK's avatar
KK committed
35
- 重新定义(**只支持编辑器**
KK's avatar
KK committed
36

KK's avatar
KK committed
37
​		如默认定义不足,比如想定义更多的上下文参数,可以通过ITEMPARAM参数指定,如下,param 属性定义了附加参数,context属性定义了附加上下文 例如 `ITEMPARAM={param:{'n_xx_id':'%field4%'},context:{'XXXXid':'%majorentityname%'}}`
KK's avatar
KK committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

- 直接赋值  

  test=test  会转为为导航视图参数

#### 导航参数支持场景

1. ##### 编辑器

   支持重新定义

   不支持直接赋值

2. ##### 应用功能

   不支持重新定义

   支持直接赋值

3. ##### 应用视图引用

   不支持重新定义
KK's avatar
KK committed
60

KK's avatar
KK committed
61
   不支持直接赋值
KK's avatar
KK committed
62

KK's avatar
KK committed
63
   导航参数必须显式使用**SRFNAVPARAM.** 前缀
KK's avatar
KK committed
64

KK's avatar
KK committed
65
4. ##### 实体关系界面
KK's avatar
KK committed
66

KK's avatar
KK committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
   不支持重新定义

   支持直接赋值

5. ##### 实体视图面板

   不支持重新定义

   支持直接赋值

6. 界面行为

   不支持重新定义

   支持直接赋值

### 解构赋值

#### 解构赋值方法

KK's avatar
KK committed
87
值是`%xxx%`类型,需要动态解构赋值。
KK's avatar
KK committed
88 89 90 91 92 93

其取值赋值顺序为:

- 首先从视图传递给编辑器的**视图上下文**中获取匹配值,如存在,则赋值给相应的属性。
- 其次从视图传递给编辑器的**视图参数**中获取匹配值,如存在,则赋值给相应的属性。(属性若有值会被覆盖)
- 最后从表单数据中获取匹配值,如存在,则赋值给相应的属性。
KK's avatar
KK committed
94 95 96

#### 注意事项

KK's avatar
KK committed
97 98 99 100 101 102 103 104
- 如果在赋值过程中该属性存在值会覆盖之前值,请配置参数时,合理配置。
- 如在上下文参数定义了` {ORDER:''}``{ORDER:null} `意味着将上下文参数中的`【ORDER】`进行移除

### 参数作用

##### 指定视图导航参数增强处理能力

导航参数可以用于表单默认值,也可作为数据查询条件往后台请求,灵活使用导航参数可以降低对后台的要求,如在做odoo的客户及联系人表格视图时,odoo将这两类数据存储在同一个实体中,如直接在导航参数中直接定义`SRFNAVPARAM.n_iscompany_eq=1 `就可以在前台直接分类数据,而无需后台提供查询能力。
KK's avatar
KK committed
105