溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊

發(fā)布時間:2022-10-21 15:58:07 來源:億速云 閱讀:311 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊文章都會有所收獲,下面我們一起來看看吧。

根據(jù)條件判斷按鈕是否可以點(diǎn)擊

按鈕當(dāng)在特定環(huán)境下不可點(diǎn)擊,需要根據(jù)判斷來控制點(diǎn)擊事件。

方法一:使用v-if 、v-else 來判斷

<template>
    <div>
        <el-button v-if="!isDisabled"></el-button>
        <el-button v-else @click="getDetail()"></el-button>
    </div>
</template>

方法二:增加一個變量,判斷

<template>
<el-button @click="!isDisabled && getDetail()"></el-button>
</template>
<script>
data(){
    return{
        isDisabled:true,  //為true時可以點(diǎn)擊,false時不可點(diǎn)擊
    }
}
</script>

兩種方法都可以,但第二種相對來說編寫的代碼更少,具體怎么用看個人習(xí)慣。  

vue判斷點(diǎn)擊當(dāng)前元素

點(diǎn)擊按鈕,出現(xiàn)彈窗;然后點(diǎn)擊遮罩層,當(dāng)前彈窗消失。

怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊

一開始都會在遮罩層上綁定點(diǎn)擊事件,但是這樣的話,點(diǎn)擊了form表單,當(dāng)前彈窗也會消失。

需要判斷你是點(diǎn)擊了遮罩層還是form表單

1.在遮罩層上綁定點(diǎn)擊事件 @click=“showfun2($event)”

<div class="topfrom" v-show="msg" @click="showfun2($event)">
    <!--子組件-->
    <fromdemo btndata="點(diǎn)擊咨詢"></fromdemo>  
</div>

2.判斷是否點(diǎn)擊了當(dāng)前元素 e.currentTarget === e.target

showfun2(e) {
    if (e.currentTarget === e.target) {
        this.msg = false
    }
},

以上就完成當(dāng)前事件點(diǎn)擊元素的判斷。

接下來是分別對e.currentTarget、e.target打印

showfun2(e) {
    console.log(e.currentTarget)
    console.log(e.target)
},

第一次點(diǎn)擊 遮罩層 

怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊

第二次點(diǎn)擊 form表單

怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊

發(fā)現(xiàn) e.currentTarget 打印的始終是,綁定點(diǎn)擊事件的元素。

關(guān)于“怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用vue實(shí)現(xiàn)根據(jù)條件判斷按鈕是否可以點(diǎn)擊”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI