Estoy usando ionic 6 para ion-datetime con propiedad multiple="true" . Quiero asegurarme de que el usuario no pueda seleccionar más de 2 fechas. y si el usuario selecciona la tercera fecha, entonces quiero eliminar la fecha más antigua automáticamente en lugar de generar un error de validación. El código es como a continuación:
<ion-datetime presentation="date" multiple="true" preferWheel="false" [(ngModel)]="packageEstimatedDated" (ionChange)="validateDates()"></ion-datetime>para .ts
packageEstimatedDated async validateDates(){ console.log("selected dates length:", this.packageEstimatedDated.length) if(this.packageEstimatedDated.length === 3){ console.log("after remove extra date", this.packageEstimatedDated) this.packageEstimatedDated.splice(0,1) console.log("after removed", this.packageEstimatedDated) } }El problema es que incluso el empalme está eliminando el elemento, pero todavía no es así. Aquí está el resultado que veo cuando selecciono 4 fechas una por una:
selected dates length: 1 new-order.page.ts:61 selected dates length: 2 new-order.page.ts:61 selected dates length: 3 new-order.page.ts:72 after remove extra date (3) ['2022-08-10', '2022-08-18', '2022-08-23'] new-order.page.ts:74 after removed (2) ['2022-08-18', '2022-08-23'] new-order.page.ts:61 selected dates length: 4