【问题标题】:Close all dropdowns $root event关闭所有下拉菜单 $root 事件
【发布时间】:2019-01-20 03:37:20
【问题描述】:

我的 UI 中有一个特殊情况,我需要关闭所有打开的 b-bropdown 组件(包括 b-nav-item-dropdown)。

我还没有找到与 b-tooltip 提供的方法类似的方法。

this.$root.$emit('bv::hide::tooltip');

这样的东西会很完美:

this.$root.$emit('bv::close::dropdown');

在这一点上,只要它按预期工作,我可以接受任何骇人听闻的答案。我应该使用mixins吗?如果是这样,如何干净地做到这一点?

【问题讨论】:

    标签: vue.js bootstrap-4 bootstrap-vue


    【解决方案1】:

    bootstrap-vue 的人提供了一种未记录的方式来处理另一个事件:

    this.$root.$emit('bv::link::clicked');
    

    【讨论】:

    • 这似乎不再使用 bootstrap-vue 2.0.0-rc.15,将尝试 rc-19
    【解决方案2】:

    你可以在组件实例上这样做

    
    <b-dropdown ref="foo"></b-dropdown>
    
    
    this.$refs.foo.hide();
    
    

    【讨论】:

    • 目的是关闭所有组件的所有下拉菜单,因此我没有每个组件的 $ref。
    猜你喜欢
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2021-05-11
    • 2015-11-12
    • 1970-01-01
    相关资源
    最近更新 更多