ElementUI中el-dropdown-item點(diǎn)擊事件無效問題
ElementUI中el-dropdown-item點(diǎn)擊事件無效
若直接在el-dropdown-item上添加click事件,點(diǎn)擊后沒有任何反應(yīng)。
在click后添加native修飾符,則可解決問題。
代碼如下:
<el-dropdown> ? ? <span class="user"></span> ? ? <el-dropdown-menu slot="dropdown"> ? ? ? ? <el-dropdown-item @click.native="changePassword">修改密碼</el-dropdown-item> ? ? </el-dropdown-menu> </el-dropdown>
在給Vue組件(el-dropdown-item就是一個組件)綁定事件的時候,必須加上navtive修飾符才能生效,navtive可以監(jiān)聽根元素的原生事件
el-dropdown-item添加點(diǎn)擊事件
問題
Vue引入Element-ui框架,使用其DropDown組件時,發(fā)現(xiàn)官網(wǎng)教程并沒有給出el-dropdown-item點(diǎn)擊事件的使用方法。
因此需要自定義點(diǎn)擊事件,也就是需要添加原生的點(diǎn)擊事件。
添加點(diǎn)擊事件
使用 @click.native=“”,此時就可以實(shí)現(xiàn)點(diǎn)擊事件了。
<el-dropdown>
? <span class="el-dropdown-link">
? ? 下拉菜單<i class="el-icon-arrow-down el-icon--right"></i>
? </span>
? <el-dropdown-menu slot="dropdown">
? ? <el-dropdown-item @click.native="handleClick('0')">黃金糕</el-dropdown-item>
? ? <el-dropdown-item @click.native="handleClick('1')">獅子頭</el-dropdown-item>
? </el-dropdown-menu>
</el-dropdown>了解一下@click.native
@click
@click 常見于其用在Vue中的事件綁定,而@實(shí)際上是 v-on 的簡寫,而 v-on 則是對 vue 的事件體系封裝之后的 API接口。
native
native修飾符用于處理DOM原生事件,在本文中由于組件 DropDown并沒有封裝點(diǎn)擊事件,因此需要添加原生的點(diǎn)擊事件,因此使用@click.native。
擴(kuò)展@click的其他用法
@click.stop: 阻止事件冒泡@click.prevent: 阻止事件的默認(rèn)行為 (提交事件不再重載頁面)@click.capture: 優(yōu)先觸發(fā)@click.self: 只有自己能觸發(fā),子元素?zé)o法觸發(fā)@click.once: 只能提交一次(. o n c e .once.once 修飾符還能被用到自定義的組件事件上。)
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue如何實(shí)現(xiàn)接口統(tǒng)一管理
這篇文章主要介紹了vue如何實(shí)現(xiàn)接口統(tǒng)一管理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
vue2.0在table中實(shí)現(xiàn)全選和反選的示例代碼
這篇文章主要介紹了vue2.0在table中實(shí)現(xiàn)全選和反選的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
Vue2.0+Vux搭建一個完整的移動webApp項目的示例
這篇文章主要介紹了Vue2.0+Vux搭建一個完整的移動webApp項目的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03

