如何在离子标签后面打开模态[ IONIC 4 ]

mxg2im7a  于 2023-11-15  发布在  Ionic
关注(0)|答案(3)|浏览(143)

如何显示选项卡后面的模态?目前,即使z-index设置为2,选项卡的z-index设置为5,模态也会覆盖所有内容。
How it currently is
How I want it to be
我一直在尝试使用z-index,但它不工作的模态。这里的代码:

  • 模态创建 *
const modal = await this.modalController.create({
  showBackdrop: false,
  backdropDismiss: true,
  component: CreateExpenseComponent,
  cssClass: "createExpenseModal",
});
return await modal.present();

字符串

  • Modal CSS(global.scss)*
.createExpenseModal {
  position: absolute;
  z-index: 2 !important;
  //--backdrop-opacity: 0 !important;
  .modal-wrapper.sc-ion-modal-ios,
  .modal-shadow.sc-ion-modal-ios {
  z-index: 2;
  position: absolute;
  top: 35rem;
  }
 }

  • 离子标签css*
ion-tabs {
  z-index: 5;
  position: relative;
 }


感谢您的宝贵时间!

agxfikkp

agxfikkp1#

这是Ionic 6的答案,但它可能会帮助一些人
你可以使用Ionic的动画引擎来创建一个自定义的enterAnimation,它将首先将离子模态移动到你的用例所需要的任何dom节点下。有一个名为beforeAddWrite的钩子,专门用于在动画开始之前执行DOM操作。相关的代码看起来像这样

// rest of animation
.beforeAddWrite(() => {
    const modal = document.querySelector('ion-modal');
    const appTabs = document.querySelector('#bottomNav');
    appTabs.appendChild(modal);
  })

字符串

0lvr5msh

0lvr5msh2#

我不认为你试图用z-index实现的是可能的,因为ion-modal元素是附加在当前页面之外的。
您可以将背景效果分为两部分:


的数据
1.第一部分是你的浮动按钮,我假设你把它沿着在标签栏的ion-tab-button旁边。你可以添加一个background-color,颜色与模态上的颜色相匹配,并使用纯css或你正在寻找的确切形状创建一种拆卸效果。有很多例子,你可以了解更多关于here的信息。
1.第二部分是使用bottom css属性将你的modal放置在标签栏的顶部。

8yoxcaq7

8yoxcaq73#

async showModalInsideIonTabs(): Promise<void> {
 const modal = await this.modalController.create({
   component: SomePage,
 });

 // render modal inside active tab page, so tab switch is possible 
 // with opened modal
 const activeTabPage = document.querySelector('ion-content').closest('.ion-page');
 activeTabPage.appendChild(modal);

 await modal.present();
}

字符串
参考:https://github.com/ionic-team/ionic-framework/issues/26792#issuecomment-1429319622

相关问题