观查者模式

在处理Build时经常会遇到的一个问题就是动态改变字段的hidden, static, required,那么一般的做法是通过 build.fields[name].[hidden|static|required] 来修改它的值,但是这种不是很方便,因此 Build 提供了一种根据状态对象来自动跟踪变化的机制。

首先你需要定义一个对象,如:

statusObject = {
  status1: function () {
    return 表达式1
  },
  status2: function () {
    return 表达式2
  },
  status3: function () {
    return 表达式3
  }
}

然后传入build对象,如: :status-object="statusObject"

在定义fields时,分别使用:

{name: 'str11', label: '字段11', help: '当选择1勾选时可见', showWhen: 'status1'}'
{name: 'str2', label: '字段2', help: '当选择2勾选时静态', staticWhen: 'status2'},
{name: 'str3', label: '字段3', help: '当选择3勾选时必填', requiredWhen: 'status3'},

来关联字段与状态的关系。

{{value}}