確認ダイアログを実装するなら「vuejs-dialog」がおすすめ!
by kabanoki
HTML
<div id="app">
<button class="open" @click="onAlert()">Open</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuejs-dialog.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuejs-dialog.min.js"></script>
<!--カスタムコンポーネントが必要な場合読みこむ -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuejs-dialog-mixin.min.js"></script>
CSS
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
button.open {
float:left;
height: 30px;
width: 12%;
margin: 3px;
background-color: #62caaa;
padding: 1px;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
border: 2px solid #fff;
font-size: 18px;
border-radius: 10px;
}
Vue
const VuejsDialog = window.VuejsDialog.main.default;
Vue.use(VuejsDialog);
new Vue({
el: '#app',
methods: {
onAlert:function(){
this.$dialog
.confirm({
title: '最終確認',
body: '本当に削除してもよろしいですか?'
},{
okText: 'はい',
cancelText: 'キャンセル',
})
.then(function() {
this.$dialog.alert('実行しました');
console.log('実行しました');
})
.catch(function() {
this.$dialog.alert('実行はキャンセルされました');
console.log('実行はキャンセルされました');
});
}
}
});