【发布时间】:2017-11-28 15:38:56
【问题描述】:
已安装的包:
"@angular/core": "^4.0.0"
"typescript": "~2.3.3"
"sweetalert": "^2.0.8"
"@types/sweetalert": "^1.1.28"
我如何使用 sweetalert:
import * as swal from "sweetalert";
//...
doSomething() {
const options = {
title: "Are you sure?",
text: "Some text here!",
type: "warning",
showCancelButton: true,
showConfirmButton: true
};
swal(options, (remove) => { });
}
我收到以下错误:
- VSC 智能感知:
'类型参数'{ title: string;文本:字符串;类型:字符串; 显示取消按钮:布尔值; showConfirmButton: boolea...' 不是 可分配给“Settings & PromtModalSettings”类型的参数。
输入'{标题:字符串;文本:字符串;类型:字符串;显示取消按钮: 布尔值; showConfirmButton: boolea...' 不可分配给类型 'PromtModalSettings'。 属性“类型”的类型不兼容。 类型“字符串”不可分配给类型“PromtType”。在:'101,14' 来源:'ts'
- TypeScript 编译,但在浏览器控制台上,我得到了这个:
错误错误:SweetAlert:意外的第二个参数(函数(删除){...
我尝试将options 类型设置为SweetAlert.Settings & SweetAlert.AlertModalSettings,但我无法访问命名空间SweerAlert,也尝试了any。他们都没有工作。
如何将这些选项设置为 sweetalert?
【问题讨论】:
-
你试过
import swal from 'sweetalert'而不是import * as swal吗? -
我明白了:
Module '"sweetalert"' has no default export -
转到
sweetalert.d.ts并更改export = swal->export default swal;。最近在 SweetAlert github 上报告了此问题,并已提交修复。我只是不知道它不在最新的 npm 包中。然后你可以做import swal from 'sweetalert'。但是,我的建议是使用 SweetAlert2 -
抱歉,
import swal from 'sweetalert'和import * as swal之间有什么区别? -
它不接受相同的属性,嵌套其他属性的按钮会出错。
标签: angular typescript sweetalert