sweetalert_1.default 不是函数:Angular 5

sweetalert_1.default is not a function : Angular 5

我打算在官方 link 中发现 SweetAlert,所以我想在我的应用程序 angular5 中使用它。

我是这样安装的:

npm install sweetalert --save

我已将其导入到我的组件中:edit-client.component 使用此:

  import swal from 'sweetalert';

这是我尝试使用它的文件 editClient.component.ts :

import swal from 'sweetalert';

Component({
  selector: 'app-edit-clients',
  templateUrl: './edit-clients.component.html',
  styleUrls: ['./edit-clients.component.scss']
})
export class EditClientsComponent implements OnInit {

EditClient(){
    this.clientService.updateClient(this.client)
      .subscribe(data=>{
        console.log(data);

        swal('mise a jour effecture !');

        this.router.navigate([ '../../../list' ], { relativeTo: this.activatedRoute });
        },err=>{
        console.log(err);
        alert("Probleme");
      })
  }


}

但是在 运行 这个例子中,我看不到警报,而是收到错误消息:

RROR TypeError: sweetalert_1.default is not a function
    at SafeSubscriber.eval [as _next] (edit-clients.component.ts:39)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:240)
    at SafeSubscriber.next (Subscriber.js:187)
    at Subscriber._next (Subscriber.js:128)
    at Subscriber.next (Subscriber.js:92)

我做错了什么?

对于那些遇到同样问题的人,我改为导入:

import * as _swal from 'sweetalert';
import { SweetAlert } from 'sweetalert/typings/core';
const swal: SweetAlert = _swal as any;

然后使用:

swal('hello world'); 

这解决了问题。

就我而言,我是从“sweetalert”导入的。一旦我更正了导入语句,问题就消失了。

正确的导入行是。

import swal from "sweetalert2";