【问题标题】:How to trigger Vuetify component activator on arbitrary element click?如何在任意元素点击时触发 Vuetify 组件激活器?
【发布时间】:2021-10-28 11:32:43
【问题描述】:

当使用 Vuetify (2.5.0) 和 Vue (2.6.12) 点击元素时,我试图打开一个小弹出浮动菜单,例如

<v-menu bottom offset-y>
  <template v-slot:activator="{ on, attrs }">
    <div v-bind="attrs" v-on="on"></div>
  </template>
  <div>My popup floating content..</div>
</v-menu>

...但我不确定激活器应该如何处理点击事件。我没有使用v-btn 作为激活器是有原因的。 vuetify 文档给出了示例,但他们总是使用 v-btn 例如而不是上面激活器插槽中的 div,它是&lt;v-btn v-bind="attrs" v-on="on"&gt;A Menu&lt;/v-btn&gt;

【问题讨论】:

    标签: vue.js vuetify.js


    【解决方案1】:

    您可以破坏 on 插槽道具以获取点击事件,然后在您的 div 中使用它:

    <v-menu bottom offset-y>
      <template v-slot:activator="{ on:{click}, attrs }">
        <div v-bind="attrs" @click="click">show menu</div>
      </template>
      <div>My popup floating content..</div>
    </v-menu>
    

    【讨论】:

    • 谢谢,我也刚刚意识到我可以将v-on:click="on.click" 与激活器 div 一起使用
    • 不客气,销毁后你可以做@click="click"
    猜你喜欢
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    相关资源
    最近更新 更多