Javascript 设置窗体控件错误-错误名称是一个变量

Javascript 设置窗体控件错误-错误名称是一个变量,javascript,angular,typescript,form-control,Javascript,Angular,Typescript,Form Control,这里的setErrors并不像我预期的那样。这将为值为的字段设置错误: {errorName:true} 我想使用函数addFieldError的errorName:string参数作为要添加到错误集合的对象的键,而不是使用键'errorName'本身 如何实现这一点?您只需将变量值作为键名输出即可 在代码中,对象键是errorNameas string private static addFieldError(form: FormGroup, fieldName: string, e

这里的
setErrors
并不像我预期的那样。这将为值为的字段设置错误:
{errorName:true}

我想使用函数
addFieldError
errorName:string
参数作为要添加到错误集合的对象的键,而不是使用键'errorName'本身


如何实现这一点?

您只需将变量值作为键名输出即可

在代码中,对象键是
errorName
as string

    private static addFieldError(form: FormGroup, fieldName: string, errorName: string) {
         form.controls[fieldName].setErrors({errorName: true});
         form.controls[fieldName].markAsTouched();
    }
但是,
errorName
对您来说是一个变量,需要将该变量的值设置为计算对象的键名

setErrors({errorName: true})
这是一个ES6特性,您可以从中获取从变量计算出的密钥名


选中

下的
计算属性名称
,只需将变量值作为键名输出即可

在代码中,对象键是
errorName
as string

    private static addFieldError(form: FormGroup, fieldName: string, errorName: string) {
         form.controls[fieldName].setErrors({errorName: true});
         form.controls[fieldName].markAsTouched();
    }
但是,
errorName
对您来说是一个变量,需要将该变量的值设置为计算对象的键名

setErrors({errorName: true})
这是一个ES6特性,您可以从中获取从变量计算出的密钥名


setErrors({[errorName]:true})下检查
计算属性名
太棒了!你可以通过一些解释把这变成一个答案。它解决了这个问题。
setErrors({[errorName]:true})
Great!你可以通过一些解释把这变成一个答案。它解决了这个问题。