Как вы можете видеть на скриншоте, я пытаюсь отобразить node.name и node.value.Значение node.value отображается в <input>
, поэтому, если я хочу изменить его.Но когда я что-то записываю в поле ввода, исходные данные, расположенные в dataSource.data
, не меняются - остаются прежними.Очевидно, что нет двухсторонней привязки, но как ее реализовать?
Я пытался использовать ([ngModel])="node.value"
, но это не сработало.
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding matTreeNodeToggle>
<button mat-icon-button disabled></button>
<div class="col-l-4 col-m-4 col-s-4">
{{node.name}}
<span class="required" *ngIf="node.mandatory === 1">*</span>
</div>
<div class="col-l-8 col-m-8 col-s-8">
<input [type]="node.base_Type" class="form-input" [value]='node.value'>
</div>
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding>
<button mat-icon-button matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
<strong>{{node.name}}</strong>
</mat-tree-node>
</mat-tree>
Так что я хотел быкогда в конце я извлеку данные из dataSource.data
, то значения свойств узлов, которые были изменены, чтобы быть там, изменились, а не оригинальные.