我有一个表格元素,人们可以在其中添加行来添加数据。其中两个字段是互斥的:如果在一个字段中输入值,则应禁用另一个字段,反之亦然。我的理解是,我需要使用可观察量在回调中执行此操作,但我似乎找不到正确的路径或ID字符串。从逻辑上讲,它是如何工作的没有多大意义。该表开始时为空。postRender
那么,是否有对“添加行”按钮的回调或我需要添加此逻辑的内容?任何指导将不胜感激。
图式:
var schema = {
"type": "object",
"properties": {
"cbnum": {
"type": "string",
"required": true,
"minLength": 5,
"maxLength": 5
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Project name (required)",
"required": true
},
"tags": {
"type": "string",
"title": "Tags"
},
"hours": {
"type": "number",
"title": "Hours"
},
"percent": {
"type": "number",
"title": "Percent"
}
}
}
}
}
};
下面的代码不起作用(再次,当你想到它时,这并不奇怪,但我不知道还能尝试什么):
var postRenderCallback = function(control) {
var hours = control.childrenByPropertyId["projects"].childrenByPropertyId["hours"];
var percent = control.childrenByPropertyId["projects"].childrenByPropertyId["percent"];
hours.on("change", function() {
if (this.getValue().length > 0) {
percent.setValue("");
percent.options.disabled = true;
} else {
percent.options.disabled = false;
}
});
};
眼眸繁星
相关分类