当警报抛出时,甜蜜警报2不会显示为模态

时间:2017-10-03 14:58:56

标签: javascript node.js reactjs sweetalert sweetalert2

我认为我必须输入这个错误的方法,但我不确定。我按照github上的说明进行操作。它说我可以npm install然后import swal from 'sweetalert2'。我是否还必须使用jscss文件?

我在窗口左下角发出了一个奇怪的警报,但不会消失。 enter image description here

这是我的代码:

import React, { Component } from 'react';
import swal from 'sweetalert2';

class TestSwal extends Component {
  componentDidMount() {
    swal({
      title: 'Are you sure?',
      text: 'You will not be able to recover this imaginary file!',
      type: 'warning',
      showCancelButton: true,
      confirmButtonText: 'Yes, delete it!',
      cancelButtonText: 'No, keep it'
    }).then(
      function() {
        swal('Deleted!', 'Your imaginary file has been deleted.', 'success');
      },
      function(dismiss) {
        // dismiss can be 'overlay', 'cancel', 'close', 'esc', 'timer'
        if (dismiss === 'cancel') {
          swal('Cancelled', 'Your imaginary file is safe :)', 'error');
        }
      }
    );
  }
  render() {
    return <div>Test Swal</div>;
  }
}

export default TestSwal;

2 个答案:

答案 0 :(得分:4)

您应该包含CSS文件:

import 'sweetalert2/dist/sweetalert2.min.css';

或将CDN版本包含在HTML文件中,如Usage section on Github

所示

答案 1 :(得分:3)

更新(2017年1月):从v7开始,您只需要导入JS和CSS:

describe('LanguageService', () => {
let service: LanguageService;
beforeEach(() => {
TestBed.configureTestingModule({
  providers: [LanguageService]
});

service = TestBed.get(LanguageService);
});

it('should set a preferred language', () => {
  // Some test
});
});

我们最近发布了v6.10.0,其中包含JS和CSS的一体化版本。

您可以这样导入:

import swal from 'sweetalert2'