【问题标题】:Bootstrap's modal is not popping up in Angular application?Bootstrap 的模态没有在 Angular 应用程序中弹出?
【发布时间】:2021-05-16 07:23:08
【问题描述】:

我正在为我的学校项目构建一个EmailClient 应用程序。将Bootstrap 用于用户界面。

我有三个组件(实际上,如果计算包含这三个组件的父组件,我有四个组件),如下所示:

<app-navbar></app-navbar>
<div class="container-fluid">
    <div class="row">
        
        <div c class="col-lg-3 ">  
            <app-folder-tree></app-folder-tree>
        </div>
        <div class="col-lg-9">
            <app-message></app-message>
        </div>

    </div>

</div>

我的目标是能够通过双击任何文件夹来打开用于编辑任何文件夹名称的简单模式。从 &lt;app-folder-tree&gt; 组件,我使用 Telerik 的 TreeView UI 组件。以下是&lt;app-folder-tree&gt; 组件的外观:

<div class="test">


    <kendo-treeview
        id="idt"
        [nodes]="folders"
        textField="folderName"
        [hasChildren]="hasChildren"
        [children]="fetchChildren" 
        (nodeDblClick)="doubleClick($event)" 
        kendoTreeViewExpandable
            
    
        (selectionChange)="handleSelection($event)"
            
        kendoTreeViewSelectable
        [selectBy]="'folderName'"
           
        >
    </kendo-treeview>

    <div *ngIf="showModalBox">


        <div class="container">
            <!-- Small modal -->
        
            <div class="modal fade bd-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
            <div class="modal-dialog modal-sm">
                <div class="modal-content">
                Content
                </div>
            </div>
            </div>
        </div>
    </div>
  
</div>

这是.ts文件中的一个函数:

  doubleClick($event){
    console.log("aaafff")
    this.showModalBox = true;
  }

我在这里缺少什么?

【问题讨论】:

    标签: angular twitter-bootstrap modal-dialog


    【解决方案1】:

    而不是 &lt;div class="modal fade bd-example-modal-sm" tabindex="-1" role="dialog"...

    有条件地使用 ngClass 来分类

    &lt;div class="modal fade" [ngClass]="{'show d-block' : showModalBox}"...

    当 showModalBox 为 true 时将添加类 'show' 和 'd-block' 在 false / undefined / null 时删除

    【讨论】:

    • 完全不需要带有 *ngIf="showModalBox" 的 div
    • 您使用的是什么版本的引导程序?还是像 ngxbootstrap 这样的 Angular 库?
    • 这是一个常规的引导程序,版本 4.6.0。我找到了本教程itsolutionstuff.com/post/…,但是使用我在其他项目中使用的 mdbootstrap,模态功能工作得很好......标准引导程序会导致问题,如果我找不到更清洁的解决方案,我可能会切换到 ngx 或 mdb
    • BS4 使用 [ngClass]="{'show d-block' : showModalBox}" 而不是 [class.show]="showModalBox" 我们需要两个类
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 2017-03-24
    • 2013-05-18
    相关资源
    最近更新 更多