gpt4 book ai didi

javascript - 如何将字符串转换为 typescript 中的对象

转载 作者:行者123 更新时间:2023-11-30 14:24:24 25 4
gpt4 key购买 nike

我正在 Angular 6 中制作动态表单。为此,我从后端发送 JSON。 PFB json


[
{
"controlType": "input",
"label": "Test1",
"key": "some1",
"value": "This input is pre-populated",
"syncValidators": "Validators.required"
}
]

我正在用 Typescript 制作如下表格。 PFB代码

this.dataList = JSON.parse(event.body); //Contains the JSON sent from backend
const formContent: any = {};

this.dataList.forEach(data => {
formContent[data.key] = new FormControl(data.value ,data.syncValidators));
});

this.exampleForm = new FormGroup(formContent);

我在 => data.syncValidators 中遇到了问题,因为它被视为一个字符串。但它需要是 Validators.required 。

我如何进行转换,以便“data.syncValidators”被视为方法而不是字符串?

最佳答案

创建一个工厂来实现:

validatorFactory(validatorName:string){
switch(validatorName){
case "Validators.required" :
return Validators.required;
// add other validators like max , min , ....
default : return null;
}
}

并像这样使用它:

    this.dataList.forEach(data => { 
formContent[data.key] = new FormControl(data.value ,validatorFactory(data.syncValidators)));
});

关于javascript - 如何将字符串转换为 typescript 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52177584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com