Online之JS增强-关联修改控件值【单(主)表】

功能说明:在online表单中,当改变表单某一控件值的时候关联改变其他控件的值,【仅限单表/主表】示例说明: 出生日期(birthday)被改变的时候改变对应的年龄(age),步骤如下

1.配置form的增强JS:(JS增强定义见online基础篇)输入图片说明代码如下:

  1. onlChange(){
  2. return {
  3. birthday(){
  4. let value = event.value
  5. let currBirthday = new Date(value.replace(/-/g, "\/"));
  6. let d = new Date();
  7. let age = d.getFullYear()-currBirthday.getFullYear()
  8. let values = {'age':age}
  9. that.triggleChangeValues(values)
  10. }
  11. }
  12. }

2.测试输入图片说明

Summary:配置form表单JS增强 -单表实现关联change有如下几点需要注意(如1图例子)

1.方法名规则是:表名+'_onlChange'或是直接写onlChange也行(单/主表才支持这种命名规则)2.上述方法会返回一个对象,对象中的属性名和数据库的字段名保持一致,上述1定义表示:当birthday字段内容改变的时候会触发birthday方法改变age字段的值3.每个字段方法内有两个内置参数that和event,that指向当前页面的vue实例对象,event对象包含属性如下表4.使用getAction发起请求5.使用that.triggleChangeValues(values)改变其他控件的值,values是一个对象可以配置多个控件的值

event对象描述如下

属性名描述
row当前表单的数据,编辑页面通过row.id可以获取当前表单的id值
column当前列的配置信息,通过column.key 获取当前字段名称
value当前控件的值