我的任务是为Azure DevOps开发扩展以自动执行构建过程-自定义构建任务。需要注意的是,实际上我正在开发的是一系列构建任务,每个任务都包含常规输入。但是出于历史原因,所有这些构建任务都应进行分组,并且用户将能够从管道设置的任务页面上的下拉列表中选择正确的构建任务。
问题是下拉菜单中的更改应隐藏一些输入并显示其他输入-即,我想处理下拉菜单的CHANGE事件并控制UI的可见性元素。
这甚至可能吗?
我走错了路吗?我该如何处理?
答案 0 :(得分:1)
解决方案很简单,但是到目前为止还不很明显。
每个输入都有一个名为keychain_password: "my_Mac_Password"
的属性,该属性可以完全满足需要:控制输入所连接的输入的可见性。因此,在visibleRule
文件的task.json
数组中,可以做到这一点:
定义下拉列表:
inputs
然后定义一些这样的字段:
{
"name": "selectedOption",
"type": "pickList",
"label": "Options",
"options": {
"o1": "Option 1",
"o2": "Option 2",
"o3": "Option 3"
}
},
现在,仅在{
"name": "test1",
"type": "string",
"label": "Option 1 test",
"visibleRule": "selectedOption = o1"
},
{
"name": "test2",
"type": "string",
"label": "Option 2 test",
"visibleRule": "selectedOption = o2"
},
下拉列表中选择test1
(选项1)的情况下,才显示o1
输入。 selectedOption
和test2
也是如此。如果o2
为test1
,则test2
和selectedOption
都不会显示。