Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 以编程方式更改RadDataForm开关编辑器的状态_Angular_Nativescript - Fatal编程技术网

Angular 以编程方式更改RadDataForm开关编辑器的状态

Angular 以编程方式更改RadDataForm开关编辑器的状态,angular,nativescript,Angular,Nativescript,我正在创建一个新的angular+nativescript应用程序,它依赖于RadDataForm插件来创建表单。我已经创建了一个源对象,它将初始化编辑器,并且工作正常。在编辑器中,我有一个开关,我想用它在状态改变时执行编程操作。如何在代码中访问交换机的状态?我使用一个json文件来定制编辑器 我尝试添加开关“checkedChange”事件及其处理程序,如nativescript ui小部件中所述,但它不起作用 这些是我的“问题”对象中的编辑器 这就是我在RadDataForm中注册源对象的方

我正在创建一个新的angular+nativescript应用程序,它依赖于RadDataForm插件来创建表单。我已经创建了一个源对象,它将初始化编辑器,并且工作正常。在编辑器中,我有一个开关,我想用它在状态改变时执行编程操作。如何在代码中访问交换机的状态?我使用一个json文件来定制编辑器

我尝试添加开关“checkedChange”事件及其处理程序,如nativescript ui小部件中所述,但它不起作用

这些是我的“问题”对象中的编辑器

这就是我在RadDataForm中注册源对象的方式:

首先,我在ngOnInit()方法中初始化对象,如下所示:

  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
    }
}