0

我有一个离子模态控制器,它在单击按钮时显示。对我来说,如果模态组件中的 ion-item 具有来自对象数组的详细信息,则模态不会滚动。我看不到最初没有显示在屏幕上的列表的其余部分。

模态控制器

    console.log('Called');

    this.modalController
      .create({
        component: CagesComponent,
        breakpoints: [0.75],
        initialBreakpoint: 0.75,
        showBackdrop: true,
        backdropDismiss: true,
      })
      .then((modalEl) => {
        modalEl.present();
        return modalEl.onDidDismiss();
      })
      .then((resultData) => {
        console.log(resultData.data, resultData.role);
        if (resultData.role === 'confirm') {
          this.form.get('cageNo').setValue(resultData.data);
        }
      });
  }

笼子.component.html

<ion-list>
  <ion-item button (click)="onCageSelect(cage)" *ngFor="let cage of cages">
    <ion-thumbnail slot="start" >
      <img [src]="cage.cageImg">
    </ion-thumbnail>
    <div class="item-desc">
      <h4>{{cage.name}}({{cage.type}})</h4>
      <h6>{{cage.description}}</h6>
    </div>
  </ion-item>
</ion-list>
</div>

笼子组件.ts

import { IonicModule, ModalController } from '@ionic/angular';
import { Cage } from 'src/app/cage/cage.model';
import { CageService } from 'src/app/cage/cage.service';

@Component({
  selector: 'app-cages',
  templateUrl: './cages.component.html',
  styleUrls: ['./cages.component.scss'],
})
export class CagesComponent implements OnInit {
  cages: Cage[] = [];
  constructor(
    public cageSrvc: CageService,
    public modalCtrl: ModalController
  ) {}

  ngOnInit() {
    this.cageSrvc.getCages().subscribe((cages) => {
      this.cages = cages;
    });
  }

  onCageSelect(cage: Cage) {
    console.log(cage.name);
    this.modalCtrl.dismiss(cage.name, 'confirm');
  }
}

截屏

4

1 回答 1

0

将所有内容放在 ion-content 中。

<ion-content>
  <!-- Your contents-->
</ion-content>
于 2022-02-27T13:51:27.600 回答