国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

element-plus的el-tag標(biāo)簽關(guān)閉標(biāo)簽時的高亮顯示邏輯

這篇具有很好參考價值的文章主要介紹了element-plus的el-tag標(biāo)簽關(guān)閉標(biāo)簽時的高亮顯示邏輯。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.tag 實戰(zhàn)步驟

  1. 首頁的tag一開始就會存在,而且是不能進(jìn)行刪除的

  2. 當(dāng)點擊左側(cè)欄的時候,如果tag沒有該菜單名稱則新增,如果已經(jīng)有了那么當(dāng)前tag背景為藍(lán)色。

  3. 刪除當(dāng)前tag,如果是最后一個,那么路由調(diào)整到它前面那個標(biāo)簽并且背景變藍(lán),如果不是最后一個那么路由調(diào)整到它后面那個標(biāo)簽并且背景變藍(lán)。

  4. 還有我們注意這個tag不論路由如何切換都是會存在的,所以這個tag一定要存在我們之前定義的Main.vue中。

element-plus的el-tag標(biāo)簽關(guān)閉標(biāo)簽時的高亮顯示邏輯,Vue框架與實戰(zhàn),Vue,elmentplus,el-tag

2.實現(xiàn)分析

關(guān)閉時傳入當(dāng)前的tag和index;

首先刪除標(biāo)簽(注意刪除后數(shù)組數(shù)據(jù)會變化);

然后計算刪除后的len值(如果刪除前計算需要 -1 );

判斷如果刪除的不是當(dāng)前項不做任何處理直接返回(不是當(dāng)前項不會影響高亮顯示);如果是當(dāng)前項才做后續(xù)操作(route.name === tag);

判斷l(xiāng)en===index時,證明刪除的項為當(dāng)前項則高亮顯示的索引需要減一;

否則證明高亮顯示的為當(dāng)前項(本來的一項被刪除了,那么所以index就代表被刪除后的當(dāng)前項);

高亮顯示通過,router.push()跳轉(zhuǎn)到對應(yīng)頁面進(jìn)行實現(xiàn)(首先高亮顯示就是通過是否是當(dāng)前路由來顯示的);文章來源地址http://www.zghlxwxcb.cn/news/detail-737395.html

3.代碼:

 <div class="tags-box">
        <div class="tags" v-for="(tag,index) of tags" :key="tag.index">
          <el-tag
            :closable="tag==='首頁'?false:true"
            :effect="tag === currentRoute ?'dark':'plain'"
            @close="handleClose(tag,index)"
            @click="clickTag(tag)"
          >{{tag}}</el-tag>
        </div>
      </div>
// 關(guān)閉tag標(biāo)簽
const handleClose = (tag, index) => {
  // 只有關(guān)閉當(dāng)前標(biāo)簽才會影響顯示(數(shù)據(jù)不會有任何影響)
  store.commit("layout/delTags", tag);

  // 判斷如果關(guān)閉的不是當(dāng)前標(biāo)簽不做任何處理
  console.log(route.meta.label, tag);

  if (route.meta.label !== tag) return;

  // 刪除過后的數(shù)組長度
  let len = tags.value.length;

  // 長度=index說明是最后一個(最后一個要刪除則高亮到前一個tag上)
  let routeList = router.getRoutes();
  
  if (len === index) {
    let path = routeList.find(item => item.meta.label === tags.value[index - 1])
      .path;
    router.push(path);
  } else {
    // 不相等時表明當(dāng)前項后面還有tag,則將高亮索引設(shè)置為當(dāng)前項的(刪除后的index即原來高亮的下一個)
    let path = routeList.find(item => item.meta.label === tags.value[index])
      .path;
    router.push(path);
  }
};

到了這里,關(guān)于element-plus的el-tag標(biāo)簽關(guān)閉標(biāo)簽時的高亮顯示邏輯的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue 基于element-plus el-button封裝按鈕組件

    封裝組件的原則是:組件只是數(shù)據(jù)流通的一個管道,不要糅合太多的邏輯在里面,是一個純組件,還要根據(jù)自己項目的業(yè)務(wù)場景做具體的處理。

    2024年02月10日
    瀏覽(22)
  • element-plus 設(shè)置 el-date-picker 彈出框位置

    element-plus 設(shè)置 el-date-picker 彈出框位置

    概述:el-date-picker 組件會自動根據(jù)空間范圍進(jìn)行選擇比較好的彈出位置,但特定情況下,它自動計算出的彈出位置并不符合我們的實際需求,故需要我們手動設(shè)置。 存在的問題:element-plus 中 el-date-picker 文檔中并沒有提供明確的屬性供我們設(shè)置彈出位置。 解決方案:我們可以

    2024年02月09日
    瀏覽(23)
  • vue使用element-ui或者element-plus固定 el-header 和 el-aside

    vue使用element-ui或者element-plus固定 el-header 和 el-aside

    vue使用element-ui或者element-plus固定 el-header 和 el-aside 在使用element-plus做后臺管理的時候,需要固定el-header和el-aside,特此記錄以下。 只需要將el-main固定高度即可。 main.vue css 將 el-main 高度后,當(dāng) el-main 內(nèi)容超出固定高度后就能顯示滾輪了。將滾輪樣式修改一下就好了。 效果:

    2024年02月13日
    瀏覽(26)
  • element-plus el-table、動態(tài)添加、刪除行、input輸入框

    模板部分,使用 el-table 元素作為表格容器,綁定 data 屬性傳入表格數(shù)據(jù)。用 v-for 指令遍歷每一項數(shù)據(jù),使用普通文本或 el-input 組件渲染每個單元格。表格最后一列為操作列,包含 “Add” 和 “Delete” 兩個按鈕,點擊它們可以增加或刪除數(shù)據(jù)行: 邏輯部分,定義 tableData 數(shù)據(jù)

    2024年02月06日
    瀏覽(21)
  • element-plus指定el-date-picker的彈出框位置

    element-plus指定el-date-picker的彈出框位置

    此處記錄一下,通過popper-options指定popper出現(xiàn)的位置

    2024年02月10日
    瀏覽(24)
  • vue3 element-plus el-form的二次封裝

    form表單的二次封裝 vue3 element-plus el-form的二次封裝 屬性名 類型 默認(rèn)值 說明 data Array [] 頁面展示數(shù)據(jù)內(nèi)容 onChange Function false 表單事件 bindProps Object {} 表單屬性 formRef Object {} 表單ref ruleForm Object {} 數(shù)據(jù)

    2024年02月13日
    瀏覽(104)
  • Vue3 element-plus el-select 無法選中,又不報錯

    Vue3 element-plus el-select 無法選中,又不報錯

    html 結(jié)構(gòu) js 代碼 點擊下拉選項,輸入框無法選中 原因:ref=“conditionForm” 和 :model=“conditionForm” 沖突了, 4-1. 再Vue2里面 :model=“conditionForm” 綁定的是 conditionForm 變量, ref=“conditionForm” 綁定的是conditionForm字符串 v-model=“conditionForm.personnel” 綁定的 conditionForm 變量下屬性

    2023年04月27日
    瀏覽(26)
  • element-plus el-form 表單、表單驗證 使用方法、注意事項

    element-plus@2.0.6 及之后的版本,表單驗證不再是同步執(zhí)行的了 另外, element-plus@2.1.4 及之后的版本,才可按照官方文檔示例正常使用(使用的是兩者的中間版本的話,最好先自行確認(rèn)下正確的 上例中: 如果在“ 位置1 ”執(zhí)行表單驗證通過后的業(yè)務(wù)代碼,可以去掉 async...await 如

    2024年02月05日
    瀏覽(32)
  • vue3+element-plus+el-image實現(xiàn)點擊按鈕預(yù)覽大圖

    需求:點擊某個按鈕實現(xiàn)el-image中預(yù)覽大圖的效果 官方文檔:以下是官方的寫法,并不能達(dá)到我們的要求,官方實現(xiàn)的功能是點擊圖片達(dá)到預(yù)覽大圖的效果。如果你的按鈕就是圖片,也可以達(dá)到目前的功能 el-image-viewer組件是element官方的組件,只是文檔中沒有寫出來,這個組

    2024年02月12日
    瀏覽(33)
  • vue3.0 element-plus 不同版本 el-popover 循環(huán)優(yōu)化

    vue3.0 element-plus 不同版本 el-popover 循環(huán)優(yōu)化

    表格內(nèi)循環(huán)el-popover? 渲染以后的頁面,數(shù)據(jù)量很大的時候頁面會卡,生成的代碼: 解決思路: 將el-popover提出來,不參與循環(huán),讓el-popover只渲染一次 ? 1、以1.1.0-beta.24版為例(低版本) 紅色下劃線部分是關(guān)鍵點 ? ? v-popover的值與el-popover的ref值要一致 2、以2.3.9版為例(當(dāng)前

    2024年02月12日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包