我想根据用户在选择框中选择的内容显示隐藏内容。
例如,
我有5个选项可供选择。我选择了选项1,它应该是另一个与选项1相关的组件。比如说选项1中的语句是否正确?是或否。我现在能够使其工作如下。我会有很多这样的用例,有更好的处理方法吗?
"condition": {
"functionBody":
"try { return model.MultiSelect.indexOf('India')>=0 }
catch(e){return false}"
}
答案 0 :(得分:1)
您应该利用 visibleIf 属性。 如README.md:
中所述可以使场的存在取决于另一场 场的价值。要实现这一点,您只需添加一个visibleIf 属性到字段的定义。将值$ ANY $添加到数组中 条件值,将使该字段对任何值可见 插入
那里给出的例子(注意registerEmail电子邮件字段中的visibleIf与你的情况类似):
@Component({
selector: "minimal-app",
template: '<sf-form [schema]="mySchema"></sf-form>'
})
export class AppComponent {
mySchema = {
"properties": {
"name": {
"type": "string",
"description": "Username"
},
"comment": {
"type": "string",
"description": "Comment"
},
"registerNewsletter": {
"type": "boolean",
"description": "I want to receive the newsletter",
"default": false,
"visibleIf": {
"comment": ['$ANY$']
}
},
"registerEmail": {
"type": "string",
"description": "Email",
"format": "email",
// Declare that this field must be displayed only if registerNewsletter is true
"visibleIf": {
"registerNewsletter": [true]
}
}
},
"required": ["name", "comment", "registerToNewsletter"]
}
}