从角度分量关闭模态窗口

时间:2019-10-29 17:24:57

标签: angular sweetalert

成功记录后,我需要从角度分量关闭模态窗口; 但是代码对我不起作用; 我该怎么办?

Angular CLI: 6.0.8
Node: 10.16.3
OS: win32 x64

-exp.component.html

  <div class="modal fade bd-example-modal-lg" id="modalExperience" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-labelledby="myExtraLargeModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
      <div class="modal-content">

-exp.component.ts

import { Component, OnInit, Injectable, Inject, ElementRef } from '@angular/core';
import Swal from 'sweetalert2';

private element: any;
constructor(
    private el: ElementRef, @Inject('BASE_URL') baseUrl: string
) {
    this.url = baseUrl;
    this.element = el.nativeElement;
}
Swal.fire({
    title: 'Great',
    html: res.mensaje,
    type: 'success'
}).then((result) = > {
    if (result.value) {
        //close modal -- it does not work
        this.element.style.display = 'none';
        document.body.classList.remove('modalExperience');
    }
});

使用此代码,所有窗口都关闭了,我看到它会影响组件的选择器,并且模态阴影仍然存在。 请告诉我什么是正确的方法!

2 个答案:

答案 0 :(得分:0)

您需要调用Sweetalert弹出窗口的@available(iOS 11.0, *) extension UITableView { @objc func _setSeparatorsDrawInVibrantLightModeUIAppearance(_ value: Bool) { } } 方法以关闭对话框。例如-

.close()

答案 1 :(得分:0)

我在stackoverflow上的一篇更早的文章中找到了解决方案; Close bootstrap modal using typescript in angular 2