Я пытаюсь редактировать данные, используя Angular
, и все работает нормально. Вот что я сделал, когда редактировал данные, выбранное значение в DropDownBox
исходит из базы данных. Это тоже работает отлично. Но проблема, с которой я сталкиваюсь, заключается в том, что другие элементы или значения DropDownBox
должны возникать при выборе значения по умолчанию при редактировании. Итак, во внешнем интерфейсе у меня есть что-то вроде этого:
<div class="form-group">
<label for="number">Number</label>
<select class="form-control">
//Getting selected values here from database
<option name="Number" [(ngModel)]="value.number" value={{value.number}}>
{{value.number}}
</option>
//Rest of the DropDownBox elements are filled here
<option *ngFor="let number of numbers" value={{number.id}}>
<ng-container *ngIf="number.id != value.number">
{{number.id}}
</ng-container>
</option>
</select>
</div>
Во втором разделе раздела HTML я попытался удалить повторяющееся значение, используя ngIf
в DropDownBox, и это то, что я получил сейчас (в данном случае 1 - это значение по умолчанию из базы данных вместе с другими значениями):
Это на самом деле скрывает повторяющиеся значения, так как вы можете найти пробел между 1 и 2, содержащий пустое значение (и это фактически значение 1, которое повторяется), от которого я пытаюсь избавиться. Я думал о следующем, чтобы избавиться от выбранных значений, которые повторяются в DropDownBox:
this.numbers = this.getNumber().filter(item => item.id != id);
числа - это тип переменной, в которую я помещаю значения DropDownBox, но я не уверен, как передать выбранное значение при загрузке Angular. Есть ли правильный способ сделать это?
N.B: Вот фиктивный метод для получения чисел
getNumber() {
return [
new Number(1),
new Number(2)
];
}