Остановить показ раскрывающегося списка, если у него нет вложенных выпадающих меню - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть раскрывающееся меню медицинской компании, которое при выборе показывает вспомогательное раскрывающееся меню, содержащее планы. Я пытаюсь заставить компанию не показывать, выбрал ли пользователь все планы в ней.

Я также хотел бы автоматически показывать планы компании, а не выбирать ее сначала

Код: HTML

<div *ngIf="selectedCompany" class="div-gap"></div>
<div *ngIf="selectedCompany && cPlans && cPlans.length > 0" class="ui-g-12">
    <div>
        <p-dropdown [options]="cPlans" defaultLabel="Seleccione" [(ngModel)]="selectedPlanId">
        </p-dropdown>
    </div>
</div>

Код: TS

getHealthCareCompanies() {
    this.healthCareCompaniesService.getAll().subscribe(result => {
        this.hcCompaniesList = Util.getArraySelectItem(result, 'person.companyName');
        // this.newHcCompaniesList = this.hcCompaniesList.filter(company => company.plans.length > 0);
        console.log('HC',this.hcCompaniesList);
    }, error => {
        console.log('error')
    });
}

getPlans(){
    this.healthcarePlanService.getAll().subscribe(result => {
        this.plansCombo = Util.getArraySelectItem(result, 'description')
        console.log('Plans',this.plansCombo)
    }, error => {
        console.log('Error obteniendo planes.', error);
    });
}

в настоящее время я обманываю, просто отображая div, когда нет планов, но я бы предпочел, чтобы ни одна компания вообще не показывала, когда нет планов

enter image description here

enter image description here

я добавил функции ts

enter image description here

1 Ответ

0 голосов
/ 26 ноября 2018

Вам следует отфильтровать hcCompaniesList в файле .ts.Например:

newHcCompaniesList = hcCompaniesList.filter(company => company.plans.length > 0);

- редактировать

getHealthCareCompanies() {
    this.healthCareCompaniesService.getAll().subscribe(result => {
        this.hcCompaniesList = result.filter(company: HealthCareCompany => company.healthCarePlans);
        console.log('HC',this.hcCompaniesList);
    }, error => {
        console.log('error')
    });
}
...