Хорошо. Когда вы используете * ngFor для зацикливания значений, вы должны удалить все дублирующиеся записи в списке. Итак, хороший способ - создать фильтр в Angular 2+, который называется Pipe. В основном это фильтр, который удалит ваши дублирующиеся записи в списке, так что пользователь не сможет выбрать несколько одинаковых значений, потому что они отфильтрованы и отсутствуют в списке.
@Pipe(name: 'unique')
export class FilterPipe implements PipeTransform
{
transform(value: any, args?: any): any {
// Remove the duplicate elements (this will remove duplicates
let uniqueArray = value.filter(function (el, index, array) {
return array.indexOf (el) == index;
});
return uniqueArray; }
}
И вы будете использовать эту трубу в html:
<option *ngFor="let i of taxlist | unique" [value]="i.tax_name {{i.tax_name}} ( {{i.tax_percentage}}% )</option>
Но, пожалуйста, импортируйте этот Pipe и зарегистрируйте его в модуле, в котором вы его используете.
Предоставлено ссылкой, которую я ранее предоставил в комментарии.