【问题标题】:How can I run a statement when modal close on vue?当模式关闭vue时如何运行语句?
【发布时间】:2019-02-15 15:50:19
【问题描述】:

我的 vue 组件是这样的:

<template>
    ...
    <b-modal ref="modal" id="modalInvoice" size="lg"  title="Invoice">
        <Invoice/>
        <div slot="modal-footer" class="w-100"> 
            <b-btn size="sm" class="float-right" variant="warning" @click="show=false">
                <i class="fa fa-print"></i> Print
            </b-btn>
        </div>
    </b-modal>

    ...
        <b-btn variant="warning" class="btn-square mt-2" v-b-modal.modalInvoice @click="checkout()"><i class="fa fa-credit-card-alt"></i>Checkout</b-btn>
    ...
</template>
<script>
    ...
    export default {
        ...
        mounted() {
            $(this.$refs.modal).on('hidden.bs.modal', () => {
                console.log('close modal')
            })
        },
    }
</script>

我会这样尝试。所以我尝试使用ref="modal" 并安装。但它不起作用。如果模态关闭,console.log 不显示

我该如何解决这个问题?

【问题讨论】:

  • 添加一个更改show 属性的函数,而不是@click="show=false" 并满足您的需要?
  • 您能提供更多信息吗? 1. B-modal 是您的组件还是来自某个框架或库? 2.您确定事件已正确发出,因此错误仅在捕获事件中? 3、你确定是b-modal组件发出了事件(不是按钮或发票)?

标签: javascript vue.js vuejs2 bootstrap-modal vue-component


【解决方案1】:

在模态组件上添加事件监听器:

<b-modal ref="modal" id="modalInvoice" size="lg"  title="Invoice" @hidden="onHidden">
    <Invoice/>
    <div slot="modal-footer" class="w-100"> 
        <b-btn size="sm" class="float-right" variant="warning" @click="show=false">
            <i class="fa fa-print"></i> Print
        </b-btn>
    </div>
</b-modal>

methods: {
  onHidden (e) {
    console.log('the modal was hidden')
  }
}

所有事件都列在Component Reference 部分下。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-10
  • 2015-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多