Javascript 如何以编程方式在Vuetify.js组件上触发涟漪效应?

Javascript 如何以编程方式在Vuetify.js组件上触发涟漪效应?,javascript,vuetify.js,Javascript,Vuetify.js,我有一个启用ripple的v-btn。有没有办法通过编程触发连锁反应?如果我在我自己的另一个包装按钮的组件上使用v-ripple指令,这可能吗 我需要以一种不引人注目的方式让用户注意按钮。你可以这样做 <v-btn :ripple=“your_expression”></v-btn> 您可以查看vuetify文档 我想出来了。您必须发送一个“mousedown”事件,并填入clientX和clientY以触发涟漪,然后发送一个“mouseup”以消除涟漪 我在Co

我有一个启用ripple的v-btn。有没有办法通过编程触发连锁反应?如果我在我自己的另一个包装按钮的组件上使用v-ripple指令,这可能吗


我需要以一种不引人注目的方式让用户注意按钮。

你可以这样做

<v-btn :ripple=“your_expression”></v-btn> 

您可以查看vuetify文档


我想出来了。您必须发送一个“mousedown”事件,并填入clientX和clientY以触发涟漪,然后发送一个“mouseup”以消除涟漪

我在CompUtil.js中有一个实用方法:

export default {

  ripple: function($el) {
    let ev = new Event("mousedown")
    let offset = $el.getBoundingClientRect()
    ev.clientX = offset.left + offset.width/2
    ev.clientY = offset.top + offset.height/2
    $el.dispatchEvent(ev)

    setTimeout(function() {
      $el.dispatchEvent(new Event("mouseup"))
    }, 300)
  }
}
然后我可以做:

<v-btn ref="help" ...>

CompUtil.ripple(this.$refs.help.$el)

CompUtil.ripple(此.$refs.help.$el)

我以前发现过这个问题。我可以通过调用click()或向按钮发送click事件来让按钮单击,但这不会触发涟漪效应。据我所知,该属性只控制按钮单击时是否产生涟漪。我试着打开和关闭它,但它不会产生涟漪。是的,我错误地理解了你的问题。也许您可以通过编程方式触发单击事件?快速提问,这是否会触发按钮上的单击事件,从而调用单击事件处理程序?不是,似乎不会