Angular 以编程方式更改RadDataForm开关编辑器的状态
我正在创建一个新的angular+nativescript应用程序,它依赖于RadDataForm插件来创建表单。我已经创建了一个源对象,它将初始化编辑器,并且工作正常。在编辑器中,我有一个开关,我想用它在状态改变时执行编程操作。如何在代码中访问交换机的状态?我使用一个json文件来定制编辑器 我尝试添加开关“checkedChange”事件及其处理程序,如nativescript ui小部件中所述,但它不起作用 这些是我的“问题”对象中的编辑器 这就是我在RadDataForm中注册源对象的方式: 首先,我在ngOnInit()方法中初始化对象,如下所示:Angular 以编程方式更改RadDataForm开关编辑器的状态,angular,nativescript,Angular,Nativescript,我正在创建一个新的angular+nativescript应用程序,它依赖于RadDataForm插件来创建表单。我已经创建了一个源对象,它将初始化编辑器,并且工作正常。在编辑器中,我有一个开关,我想用它在状态改变时执行编程操作。如何在代码中访问交换机的状态?我使用一个json文件来定制编辑器 我尝试添加开关“checkedChange”事件及其处理程序,如nativescript ui小部件中所述,但它不起作用 这些是我的“问题”对象中的编辑器 这就是我在RadDataForm中注册源对象的方
this.createIssue = new Issue(
false,
'Development Env Was Not Set',
);
然后使用“createIssue”属性作为我的源对象,如:
<RadDataForm
#issuesLogForm
tkExampleTitle
tkToggleNavButton
[source]="createIssue"
[metadata]="issueLogMeta"
>
</RadDataForm>
我希望得到我的开关编辑器的状态,并在代码中以编程方式对其进行修改。这样,当选中“问题已解决”的开关编辑器时,“reasonForNotResolving”的编辑器应被禁用,反之亦然。使用事件监视数据表单上的任何更改。您可以通过比较事件对象中的propertyName
属性来过滤特定属性
onPropertyCommitted(args) {
if (args.propertyName === "isResolved") {
// createIssue.isResolved should have the latest value here
}
}
谢谢你的帮助。我还注意到propertyCommitted事件受所选commitMode的高度影响。
{
"isReadOnly": false,
"commitMode": "Manual",
"validationMode": "Manual",
"propertyAnnotations":
[
{
"name": "isResolved",
"displayName": "issue is Resolved :",
"index": 5,
"editor": "Switch"
},
{
"name": "reasonForNotResolving",
"displayName": "Reason For Not Resolving :",
"index": 6,
"editor": "MultilineText"
},
]
}
onPropertyCommitted(args) {
if (args.propertyName === "isResolved") {
// createIssue.isResolved should have the latest value here
}
}