有没有一种方法可以将$ set与条件一起使用?

时间:2019-09-13 13:14:23

标签: javascript html vue.js vuex

当我第一次单击时,该值将更改为true,但是如果再次单击它,我将找不到返回到false的方法

我已经尝试在@click上使用一个函数,但是它对我有用的唯一方法是使用$ set

这是我的代码

<div class="kt-header__topbar-wrapper" data-toggle="dropdown" data-offset="10px,0px" @click="$set(hovers, 27, true)">
    <span class="kt-header__topbar-icon" ><i class="flaticon2-search-1"></i></span>
</div>
<div class="dropdown-menu-search dropdown-menu-fit dropdown-menu-right dropdown-menu-top-unround dropdown-menu-anim dropdown-menu-lg" v-show="hovers[27]">
    <div class="kt-quick-search kt-quick-search--dropdown kt-quick-search--result-compact">
        <form method="get" class="kt-quick-search__form">
            <div class="input-group">
                <div class="input-group-prepend"><span class="input-group-text"><i class="flaticon2-search-1"></i></span></div>
                <input type="text" class="form-control kt-quick-search__input" placeholder="Pesquisar...">
                <div class="input-group-append"><span class="input-group-text"><i class="la la-close kt-quick-search__close"></i></span></div>
            </div>
        </form>
        <div class="kt-quick-search__wrapper kt-scroll" data-scroll="true" data-height="325" data-mobile-height="200"></div>
    </div>
</div>

有没有一种方法可以使用@click =“ $ set ...”,如果为true,则更改为false,如果为false,则更改为true?

1 个答案:

答案 0 :(得分:1)

应该是:

@click="$set(hovers, 27, !hovers[27])"

它也应该可以正常工作。没有更多信息,很难知道为什么这对您不起作用。

例如

@click="onClick"
onClick () {
  this.$set(this.hovers, 27, !this.hovers[27])
}