微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

清晰模式不适用于ngFor

如何解决清晰模式不适用于ngFor

我对清晰度模式有疑问。

我有一个ngFor显示列表。在该ngFor中,我有一个按钮来显示模态。当我单击按钮时,它将显示列表中每个项目的模态。

我以前使用过ngbootstrap模态,它运行良好,只显示一个模态。

显示模态的组件本身在另一个组件内部,但是之前(在它是引导程序版本时)没有干涉。我认为这与布尔值变为“ true”有关,因此对所有模态都成立。

如何使用清晰模式重现ngbootstrap模式的行为?

我试图放入他自己的子组件,但是它也不起作用。

HTML:

<div class="details">
    <div class="">
        <div *ngFor="let content of doctors" [ngClass]="{'deleted': content.deleted}">
            <mat-divider></mat-divider>
            <div class="subscription">

                <div class="dashboard-agendas" [ngClass]="{'list-group-item-danger': content.deleted}">
                    <div class="dash-title">Nom de l'agenda : {{content.information.name}}</div>
                    <clr-dropdown [clrCloseMenuOnItemClick]="true">
                        <button class="dropdown-toggle btn btn-outline-primary" *ngIf="!content.deleted"
                            clrDropdownTrigger>Options
                            <clr-icon shape="caret down"></clr-icon></button>
                        <clr-dropdown-menu *clrIfOpen clrPosition="bottom-right">
                            <button (click)="onNavigateEdition(content)" routerLinkActive="router-link-active"
                                class="dropdown-item" clrDropdownItem>Modifier
                                l'agenda</button>
                            <button [routerLink]="['/webSite']" routerLinkActive="active" class="dropdown-item"
                                clrDropdownItem>Configurer
                                le
                                site</button>
                            <button class="dropdown-item" clrDropdownItem>Importer les contacts</button>
                            <button (click)="opened = true" class="dropdown-item" clrDropdownItem>Suspendre
                                cet agenda</button>
                        </clr-dropdown-menu>
                        <button *ngIf="content.deleted" (click)="restoreAgenda(content)"
                            class="btn btn-outline-danger">RéACTIVER </button>

                    </clr-dropdown>
                    <hr>
                    <div class="agenda-informations">
                        <div class="dash">Email: {{content.email}}</div>
                        <div class="dash">Téléphone: {{content.information.phoneNumber}}</div>
                        <div class="dash">Téléphone portable: {{content.information.mobilePhoneNumber}}</div>
                        <div class="dash">Adresse: {{content.information.address}}</div>
                    </div>
                    <div class="agenda-informations-comp">
                        <div class="dash">Code postal: {{content.information.zipcode}}</div>
                        <div class="dash">Ville: {{content.information.city}}</div>
                        <div class="dash">CTI : {{content.information.ctiId}}</div>
                    </div>
                </div>

                <!-- <app-deletion-confirmation [opened]="opened" [content]="content" [idOrg]="idOrg"
                    (openModal)="displayChange($event)"></app-deletion-confirmation> -->

                <clr-modal [(clrModalOpen)]="opened" [clrModalClosable]="false" class="fadeDown in modal-dialog">
                    <h4 class="modal-title">Demande de confirmation</h4>
                    <div class="modal-body">
                        <p>Vous allez désactiver cette agenda</p>
                        <p>Confirmez-vous ?</p>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-success" (click)="deleteAgenda(content)"
                            (click)="opened = false">Valider</button>
                        <button type="button" class="btn btn-danger" (click)="opened = false">Annuler</button>
                    </div>
                </clr-modal>

            </div>
        </div>
    </div>
</div>

TS:

 import { Component,OnInit,Input } from '@angular/core';
    import { HttpRequestService } from 'src/app/core/http/http-request.service';
    import { Router } from '@angular/router';
    import { DataSharedService } from 'src/app/core/services/data-shared.service';
    import { faTimes } from '@fortawesome/free-solid-svg-icons';

    @Component({
      selector: 'app-agenda-display',templateUrl: './agenda-display.component.html',styleUrls: ['./agenda-display.component.scss'],animations: [

      ]
    })
    export class AgendadisplayComponent implements OnInit {

     @input() doctors;
     @input() idOrg;
     @input() onShow;

     faTimes = faTimes;

     opened: boolean = false;

      constructor(private http: HttpRequestService,private router: Router,private data:        DataSharedService) { }

      ngOnInit(): void {
    
      }

      restoreAgenda(doctor: any) {
       this.http.restoreAgenda(this.idOrg,doctor.doctorRoleId).subscribe(data => {

      doctor.deleted = false;

    })

    }

     onNavigate(orga) {
      this.data.setSessionStorage('idOrg',orga.id);
      this.router.navigate(['/creation']);
    }

     onNavigateEdition(user) {
       this.router.navigate(['/creation'],{ queryParams: { edition: user.userId } });
     }

     displayChange(e) {
       e = false;
     }

     deleteAgenda(doctor: any) {
       this.http.deleteAgenda(this.idOrg,doctor.doctorRoleId).subscribe(data => {

        doctor.deleted = true;
       this.opened = false;
      });

     }

     // onCloseModal() {
     //   this.openModal.emit(this.opened);
     // }
    }

任何帮助表示赞赏。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。