我有一项服务,我尝试禁用角度形式字段:
formField.templateOptions.disabled = true;
即使templateOption对象正确,也不会禁用该字段:
"templateOptions": {
"type": "text",
"placeholder": "",
"label": "Single Line Test",
"disabled": true
},
这不可能吗?
感谢。
编辑:禁用服务前的表单代码
{
"type": "input",
"key": "single_line_test",
"templateOptions": {
"type": "text",
"placeholder": "",
"label": "Single Line Test"
},
"data": {},
"validation": {
"messages": {},
"errorExistsAndShouldBeVisible": false
},
"id": "formly_2_input_single_line_test_3",
"name": "formly_2_input_single_line_test_3",
"formControl": {
"$validators": {},
"$asyncValidators": {},
"$parsers": [],
"$formatters": [
null
],
"$viewChangeListeners": [],
"$untouched": true,
"$touched": false,
"$pristine": true,
"$dirty": false,
"$valid": true,
"$invalid": false,
"$error": {},
"$name": "formly_2_input_single_line_test_3",
"$options": null
}
},
答案 0 :(得分:3)
如果您希望某个属性是动态的,则必须使用expressionProperties
。从技术上讲,您不必通过表达式属性来查看它,但它需要存在于表达式属性中,因为形式上有一个优化,基本上说如果它不在那里,那么它将不会监视更改。这是性能优化。
您可以在此示例中看到动态停用:http://angular-formly.com/#/example/intro/codementor