Because you have too many cooks in your kitchen. There are two things fighting over the input binding and two things fighting over the output binding. I would either take away the () on ngModel or get rid of the ionChange handler on the output side, depending on whether you really need to run a function when the selection changes or not. On the input side, as long as [ngModel] is there, selected will have no effect. So you can get rid of the [] on ngModel, at which point selected will work, or get rid of selected and simply assign to selectedData: this.selectedData = this.CDRS.filter(cdr => cdr.value).
The best opcion this use tag (ionChange)=“OnChange($event)” on TS get value
function(event:any)
{
let valueTag: event.detail.value;
console.log(valueTag);
}