You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lefteris
8b767d3c7f
|
4 years ago | |
---|---|---|
.. | ||
dist | 4 years ago | |
nuxt | 4 years ago | |
src | 4 years ago | |
CHANGELOG.md | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
package.json | 4 years ago |
README.md
vue-sweetalert2
Vue.js wrapper for SweetAlert2. With support SSR.
Attention:
When using "Vue3: Composition API" it is better not to use this wrapper. It is more practical to call sweetalert2 directly.
Also, it is better to do it to get feedback faster, and be closer to the documentation.
Demo
Get started
Basics
# bash
npm install -S vue-sweetalert2
Add types to TypeScript project
{
//...tsconfig.json
"types": [
"vue-sweetalert2"
],
}
vue 2
// main.js
import Vue from 'vue';
import VueSweetalert2 from 'vue-sweetalert2';
// If you don't need the styles, do not connect
import 'sweetalert2/dist/sweetalert2.min.css';
Vue.use(VueSweetalert2);
vue 3
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
import VueSweetalert2 from 'vue-sweetalert2';
import 'sweetalert2/dist/sweetalert2.min.css';
const app = createApp(App)
app.use(VueSweetalert2);
app.mount('#app');
Now in the global object, you can access all the methods of sweetalert2.
// example-vue-component.vue
<template>
<button @click="showAlert">Hello world</button>
</template>
<script>
export default {
methods: {
showAlert() {
// Use sweetalert2
this.$swal('Hello Vue world!!!');
},
},
};
</script>
// Or
Vue.swal('Hello Vue world!!!');
Global options
If you want to add global options like button colors, do something like this:
// main.js
import Vue from 'vue';
import VueSweetalert2 from 'vue-sweetalert2';
const options = {
confirmButtonColor: '#41b882',
cancelButtonColor: '#ff7674',
};
Vue.use(VueSweetalert2, options);
Custom styling
Using scss styles are loaded so
// main.js
import Vue from 'vue';
import VueSweetalert2 from 'vue-sweetalert2';
Vue.use(VueSweetalert2);
// style.scss
@import '~sweetalert2/src/variables';
$swal2-background: #990000;
@import '~sweetalert2/src/sweetalert2';
Nuxt.js
Install dependencies:
npm install -S vue-sweetalert2
Add vue-sweetalert2/nuxt
to modules section of nuxt.config.js
{
modules: ['vue-sweetalert2/nuxt'];
}
Or pass in global options like this:
{
modules: [
[
'vue-sweetalert2/nuxt',
{
confirmButtonColor: '#41b882',
cancelButtonColor: '#ff7674'
}
]
]
}