Я тестировал ионно-выбираемый, используя массив для выбора и поиска вариантов, так как ионно-выбираемый-поиск устарел.Однако у меня возникает проблема, что при выборе опций с новым ionic-selectable, все выбираются вместо отдельных элементов, и я не уверен, что я делаю неправильно.
Вот мой код home.html:
<ion-header>
<ion-navbar>
<ion-title>Ionic Selectable</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<ion-item>
<ion-label>Diagnosis</ion-label>
<ionic-selectable
item-content
[(ngModel)]="diagnosis"
itemValueField="id"
itemTextField="name"
[items]="diagnoses"
[canSearch]="true"
(onChange)="diagnosisChange($event)">
</ionic-selectable>
</ion-item>
</ion-content>
My home.ts:
import { Component } from '@angular/core';
import { IonicSelectableComponent } from 'ionic-selectable';
import { DiagnosisService } from '../../services';
import { Diagnosis } from '../../types';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
diagnoses: Diagnosis[];
diagnosis: Diagnosis;
constructor(
private diagnosisService: DiagnosisService
) {
this.diagnoses = this.diagnosisService.getDiagnoses();
}
diagnosisChange(event: {
component: IonicSelectableComponent,
value: any
}) {
console.log('diagnosis:', event.value);
}
}
My Diagnostics.services.ts:
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { delay } from 'rxjs/operators';
import { Diagnosis } from '../types';
@Injectable()
export class DiagnosisService {
private diagnoses: Diagnosis[] = [
{name: 'Hypothyroidism' },
{name: 'Hyperthyroidism' },
{name: 'Diabetes Type 1' },
{name: 'Diabetes Type 2' }];
getDiagnoses(page?: number, size?: number): Diagnosis[] {
let diagnoses = [];
this.diagnoses.forEach(diagnosis => {
diagnoses.push(diagnosis);
});
if (page && size) {
diagnoses = diagnoses.slice((page - 1) * size, ((page - 1) * size) + size);
}
return diagnoses;
}
}
Я, по сути, создал здесь стек-блиц, и вы можетепосмотрите, с какой ошибкой я сталкиваюсь: https://stackblitz.com/edit/ionic-selectable-on-search-upikeg
Вот плункер, который работает со старым ionic-select-searchable: http://plnkr.co/edit/3xxNuMSIqvli8Djv8F1A?p=preview
Есть идеи, что я делаю неправильно?