0

我们在标签kendo-treeview内放置了一个。form在树中,我们使用 kendo 模板渲染每个项目,如下所示:

<kendo-treeview [nodes]="roleFeatureTree" textField="text"
	kendoTreeViewExpandable kendoTreeViewSelectable
	kendoTreeViewHierarchyBinding childrenField="items">
	<ng-template kendoTreeViewNodeTemplate let-dataItem style="width:100%">
		<span class="float-left">{{dataItem.text}} </span>
		<table>
			<tr>
			
				<td>					
					<mat-checkbox *ngIf="dataItem.Feature.CanView"
						 [checked]="dataItem.ViewAccess"
						(change)="roleFeatureChecked($event,dataItem.Feature.UID,'ViewAccess')">
					</mat-checkbox> 
				</td>				

			</tr>

		</table>
		<div class="float-right">
		</div>
	</ng-template>
</kendo-treeview>

但是,checked绑定不起作用 - 即[checked]="dataItem.ViewAccess".

而且我不能使用[(ngModel)],因为我们在一个 html 表单中。

我可以确认我们的 API 已成功将检查的值保存到我们的数据库中。并且在重新加载页面时,我可以调试和检查树节点数据。该项目确实已检查。

而当复选框被点击时,我们可以看到复选框的状态:

    roleFeatureChecked(event, roleFeatureUID:any, rfType:string){
        
        ft[rfType] = event.checked;  // this part working fine.
        
        this.updateChildrenFeatures(roleFeatureUID, rfType, event.checked);
        this.roleForm.markAsDirty();
    }

4

0 回答 0