Здравствуйте, сообщество! Мне нужна помощь с компонентами Angular и Primeng, сценарий следующий.
У меня есть модель:
export class Properties {
public IdFittingConnector: number;
public IdProperty: number;
public IdGroup: number;
public OrderAparitionNumber: number;
public OrderCodePos: number;
public ConnectorDescription: string;
public PropertyDescription;
public Values: FittingPropertiesValues[];
public Disabled: boolean;
public SelectedData: FittingPropertiesValues;
}
Эта модель хранится в массиве, поэтому foreachэлемент в массиве я создаю выбор / выпадающий
<div *ngFor="let item of arrFittingsCombos; let i = index">
<h4>{{item.PropertyDescription}}</h4>
<p-dropdown [(disabled)]="item.Disabled" [options]="item.Values" optionLabel="IrredutibleFractionValue" [(ngModel)]="item.SelectedData" [showClear]="true" (onChange)="OnFittingComboChange($event)" placeholder="Select Item" [style]="{'width':'100%'}"></p-dropdown>
</div>
Как вы можете видеть, ребята, в модели у меня есть реквизит, который хранит выпадающие значения под названием «Значения» и на той же модели я сохраняю выбранныйОпция на опоре называется "SeloectedData".
Теперь большое дело следующее.
У меня есть пара проверок, и проблема в том, что у меня есть два выпадающих списка, но если второе значение> первое значение сброса, мне нужно сбросить второй выпадающий список.Я показываю вам логический код ...
if (selectedOption.IdProperty == 5) {
let diam: number = this.arrFittingsCombos.filter(x => x.IdProperty == 1)[0].SelectedData.NumberValue;
if (selectedOption.NumberValue > diam) {
alert("Seleccion invalida, la selección es mayor que el primer diametro");
this.arrFittingsCombos.filter(x => x.IdProperty == 5)[0].SelectedData = null;
this.searchBtnDisabled = true;
}
}
Как вы можете видеть, я сбрасываю [(ngModel)], и в действительности это происходит, но в раскрывающемся списке отображаемая метка все еще существует.Что я делаю не так?Если в первый раз проверки были в порядке, значение First DropDown значение первого DropDown, поведение является желательным, но после этого отображаемая метка больше не сбрасывается.
Большое спасибо за ваше время, и я надеюсь, что вы можете дать мне немного света.