我正在使用通过JSON加载的表单元素生成角度动态表单。
表单元素生成工作正常,但我需要根据从下拉列表中选择的选项更改表单元素。
生成表单元素的JSON
jsonData: any = [
{
"elementType": "textbox",
"class": "col-12 col-md-4 col-sm-12",
"key": "project_name",
"label": "Project Name",
"type": "text",
"value": "",
"required": false,
"minlength": 3,
"maxlength": 20,
"order": 1
},
{
"elementType": "dropdown",
"key": 'project',
"label": 'Choose option to display',
"options": [
{ "key": 'description', "value": 'Show Project Description' },
{ "key": 'level', "value": 'Show Project Level' },
{ "key": 'members', "value": 'Show Project Members' }
],
"order": 2
},
{
"elementType": "textbox",
"class": "col-12 col-md-4 col-sm-12",
"key": "project_desc",
"label": "Project Description",
"type": "text",
"value": "",
"order": 3
},
{
"elementType": "dropdown",
"key": 'project_level',
"label": 'Choose Project Level',
"options": [
{ "key": 'low', "value": 'Low' },
{ "key": 'medium', "value": 'Medium' },
{ "key": 'high', "value": 'High' }
],
"order": 4
},
{
"elementType": "dropdown",
"key": 'project_members',
"label": 'Choose Project Member',
"options": [
{ "key": 'developer', "value": 'Developer' },
{ "key": 'leader', "value": 'Leader' },
{ "key": 'manager', "value": 'Manager' }
],
"order": 5
}
];
基于上述JSON,生成元素。
在这里你可以看到
Order 1
具有项目名称未更改的文本框。
接下来我们有一个下拉列表
密钥作为项目
,从这里开始只有需求。
在选项中,如果我选择
Show Project Description
然后
Project Description
需要显示文本框和其他两个
project_level
和
project_members
需要隐藏格式..
同样,如果我选择
Show Project Level
然后
Project Level
只需显示下拉列表,
项目说明
和
Project Members
需要隐藏..
以同样的方式
项目成员
…
那么如何改变
form-elements
基于项目下拉值的选择??
这个
工作实例
因为这里也一样
https://stackblitz.com/edit/angular-x4a5b6-5ys5hf
请帮助我根据所选内容隐藏其他元素
项目
仅使用角度动态形式的下拉列表。