mat-checkbox в форме HTML внутри Kendo Treeview - PullRequest
0 голосов
/ 05 октября 2018

У нас есть kendo-treeview, размещенный внутри тега form.В дереве мы визуализируем каждый элемент, используя шаблон кендо, следующим образом:

<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();
    }
...