Reputation: 820
<b-button class="button-self" v-on:click="resetNow" v-b-modal.modal-1>Register</b-button>
<b-modal id="modal-1" title="" class="modal-dialog modal-lg fade main-pop">
<div class="modal-content">
<div class="right-source" v-if="isRegisterFourth">
<div class="proceed-section">
<div class="icon-err"/>
<div class="get_back-img"></div>
<div>
<button type="button" class="btn btn-secondary goto-home-err" @click="isRegisterFourth = !showForm">
<b>OK</b>
</button>
</div>
</div>
</div>
</div>
</div>
</b-modal>
Onclick of button, how to close popup.
Upvotes: 2
Views: 1143
Reputation: 10334
The default
slot in <b-modal>
exposes a hide
method, which you can call to hide the modal. There's also various other methods in the scope you can use depending on your needs. You can see which ones on the docs
new Vue({
el: "#app"
});
<link type="text/css" rel="stylesheet" href="https://unpkg.com/[email protected]/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="https://unpkg.com/[email protected]/dist/bootstrap-vue.min.css" />
<script src="https://unpkg.com/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/[email protected]/dist/bootstrap-vue.min.js"></script>
<div id="app" class="p-3">
<b-button v-b-modal.modal-1>Register</b-button>
<b-modal id="modal-1">
<template #default="{ hide }">
<b-button @click="hide">
Close Modal
</b-button>
</template>
</b-modal>
</div>
Upvotes: 0
Reputation: 28414
ref
on the b-modal
elementhideModal
this.$refs.modal1.hide();
to close the modalnew Vue({
el:"#app",
data: () => ({ isRegisterFourth: true }),
methods: {
hideModal() {
this.$refs.modal1.hide();
},
resetNow() {}
}
});
<link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap/dist/css/bootstrap.min.css"/>
<link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<script src="https://unpkg.com/babel-polyfill@latest/dist/polyfill.min.js"></script>
<script src="https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
<div id="app">
<div>
<b-button
class="button-self"
v-on:click="resetNow"
v-b-modal.modal-1
>Register</b-button>
<b-modal ref="modal1" id="modal-1" title="" class="modal-dialog modal-lg fade main-pop">
<div class="modal-content">
<div class="right-source" v-if="isRegisterFourth">
<div class="proceed-section">
<div class="icon-err"/><div class="get_back-img"></div>
<div>
<button
type="button"
class="btn btn-secondary goto-home-err"
@click="hideModal"
><b>OK!</b></button>
</div>
</div>
</div>
</div>
</b-modal>
</div>
</div>
Upvotes: 1