В Angular 4 вместо использования углового раскрывающегося списка с несколькими вариантами выбора я использовал обычный.Ниже приведен код.
HTML-файл:
<select [ngModel]="DataValue" (change)="selectChangeHandler($event)"
id="multiple-select" name="multiple-select" class ="form-control" multiple>
<option *ngFor="let ref of Data" [value]="ref['title']">
{{ref['title']}}
</option>
</select>
Ts-файл:
selectChangeHandler (event: any) {
let oldvalue;
let mergedValue = "";
for ( let index = 0 ; index < event.currentTarget.selectedOptions.length; index++)
{
oldvalue = event.currentTarget.selectedOptions[index].value.replace(/["']/g, "");
oldvalue = oldvalue.split(': ')[1];
if (index ==`enter code here`= 0)
{ mergedValue += oldvalue; }
else
{ mergedValue += ", " + oldvalue; }
}
console.log(mergedValue);
}
Комментарии:
- Использование
event.currentTarget.selectedOptions[index].value
Вы можете получить несколько выбранных значений множественного выбора.В моем случае mergedValue
дает мне правильные несколько выбранных значений. - Я использовал split и replace для форматирования полученной строки так, как я хотел, чтобы она была разделена.
Я надеюсь, что этоможет помочь кому-то.