欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue切換div顯示隱藏,多選,單選代碼解析

 更新時(shí)間:2020年07月14日 10:03:58   作者:小小——開(kāi)心  
這篇文章主要介紹了Vue切換div顯示隱藏,多選,單選代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

切換div顯示隱藏

1)單個(gè)item下的部分dom結(jié)構(gòu),顯示或隱藏切換,不會(huì)修改其它同級(jí)dom的顯示/隱藏

template dom結(jié)構(gòu)

<div class="list-item" v-for="(list,index) in jobList">
          <p class="job-name">{{list.jobName}}</p>
          <p class="job-info">
            <el-checkbox v-model="list.checked" @change="checkOne(index)"></el-checkbox>
            <span class="info">{{list.locationDesc}} {{list.minDegreeDesc}}及以上  {{list.minExp}}年以上 {{list.jobMinSalary}}-{{list.jobMaxSalary}}</span>
            <span class="time">發(fā)布時(shí)間:{{list.refreshTime}}</span>   
            <span class="desc" @click="toggle(index)">查看職位描述
              <i class="up"  v-if = "list.show"></i>
              <i class="down"  v-if = "!list.show"></i>
            </span>          
          </p>
          <div class="desc-info" v-if = "list.show">
            {{list.jobDesc}}
          </div>
        </div>

script js

<script>
import api from '@/axios/api'
export default {
  name: 'jobImport',
  data(){
    return{ 
      companyName:'',
      checkedAll:false, 
      isShow: true,
      checkedNum:0,
      num:'-1',
      jobList:[
        {name:"銷(xiāo)售總監(jiān)1"},
        {name:"銷(xiāo)售總監(jiān)2"},
        {name:"銷(xiāo)售總監(jiān)3"},
        {name:"銷(xiāo)售總監(jiān)4"},
        {name:"銷(xiāo)售總監(jiān)5"},
        {name:"銷(xiāo)售總監(jiān)6"},
        {name:"銷(xiāo)售總監(jiān)7"}
      ],}
    },
    mounted() {
      for(let key in this.jobList){
       this.jobList[key].checked = false;
       this.jobList[key].show = false;
      } 
    },
    methods:{
      toggle(index){
        this.jobList[index].show = !this.jobList[index].show;
        this.jobList.splice(index,1,this.jobList[index]); //當(dāng)你利用索引直接設(shè)置一個(gè)項(xiàng)時(shí),Vue 不能檢測(cè)變動(dòng)的數(shù)組,你可以使用 splice()解決
      }
    }
}

less 樣式

.list-item{
          padding-top:20px;          
          .job-name{
            font-size:16px;
            color:#333333;
            font-weight: 800;
          }
          .job-info{
            margin-top: 12px;
            padding-bottom:20px;
            border-bottom: 1px dashed #eeeeee;
            font-size:14px;
            color:#333333;
            .info{
              margin-left: 10px;
            }
            .time{
              margin-left: 130px;
            }
            
          }
          .desc{
            float: right;
            color:#ff6500;
            cursor: pointer;
            .up{
              display: inline-block;
              margin-left: 12px;
              vertical-align: middle; 
              width: 11px;
              height: 6px;
              background: url("../img/icon_up.png") no-repeat;
             }
             .down{
              display: inline-block;
              margin-left: 12px;
              vertical-align: middle;
              width: 11px;
              height: 6px;
              background: url("../img/icon_down.png") no-repeat;
             }
          }
          .desc-info{
            padding: 12px; 
            background: #f8f9fb;
          }
        }

2)單個(gè)item,顯示或隱藏切換,會(huì)修改其它同級(jí)dom的顯示/隱藏。利用vue的計(jì)算屬性computed 單選,單擊選中,選中后,再點(diǎn)擊無(wú)法取消

template dom結(jié)構(gòu)

choosed 選中樣式

span{
            display: inline-block; 
            padding-left:10px;
            padding-right: 10px;
            margin-bottom: 10px;
            margin-left: 5px;
            margin-right: 5px;
            min-width:44px;
            height:26px;
            text-align: center;
            line-height: 26px;
            color:#333;
            font-size:14px; 
            cursor: pointer;
            &.choosed{
              background:#ff6500;
              border-radius:2px;
              color: #fff;
            }
          }
<div class="right hotcity-box">
  <span v-for="(city,index) in city" @click="handleChoose(index)" :class="{'choosed':cityNum == index}">{{city.cityName}}</span> </div>

script js

export default {
  name: 'search',
  data(){
      cityIndexNum:0,
      city:[
        {"cityName": '北京', "value": '1'},
        {"cityName": '上海', "value": '2'},
        {"cityName": '廣州', "value": '3'},
        {"cityName": '深圳', "value": '4'},
        {"cityName": '天津', "value": '5'}
       ]
    },
    methods:{
       handleChoose(index){ 
        this.cityIndexNum = index;
       }     
    },
    computed:{
      cityNum(){
       return this.cityIndexNum;
      }
    }
}

2)單個(gè)item,顯示或隱藏切換,會(huì)修改其它同級(jí)dom的顯示/隱藏。 多選,單擊選中,選中后,再點(diǎn)擊,取消選中

template dom結(jié)構(gòu)

           <div class="right more"> 
            <span v-for="(item, index) in exptIndustry" @click="handleChoose($event,index)" :class="{'choosed':item.ischeck}">{{item.fullName}}</span>
          </div>

js

data(){
    return {
       industryIndexNum:0,

         exptIndustry: [
                    {
                        "simpleName": "互聯(lián)網(wǎng)1",
                        "fullName": "互聯(lián)網(wǎng)1",
                        "value": "1",
                        "defaultName": "互聯(lián)網(wǎng)1"
                    },

            {
                        "simpleName": "互聯(lián)網(wǎng)2",
                        "fullName": "互聯(lián)網(wǎng)3",
                        "value": "2",
                        "defaultName": "互聯(lián)網(wǎng)3"
                    }
          ]


    }
},
methods:{
  handleChoose(e,index){ //再次點(diǎn)擊,取消選中狀態(tài)
          if (e.target.className.indexOf("choosed") == -1) {
            e.target.className = "choosed"; //切換按鈕樣式 
          } else {
            e.target.className = "";//切換按鈕樣式 
          }
          if(index==-1){
            this.industryDataInit();
          }else{
            let check = this.exptIndustry[index].ischeck;
            this.exptIndustry[index].ischeck = !check; 
            console.log(this.exptIndustry[index].ischeck)
          } 
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue簡(jiǎn)單封裝axios網(wǎng)絡(luò)請(qǐng)求的方法

    Vue簡(jiǎn)單封裝axios網(wǎng)絡(luò)請(qǐng)求的方法

    這篇文章主要介紹了Vue簡(jiǎn)單封裝axios網(wǎng)絡(luò)請(qǐng)求,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,對(duì)Vue封裝axios網(wǎng)絡(luò)請(qǐng)求相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-11-11
  • 優(yōu)化Vue template中大量條件選擇v-if的方案分享

    優(yōu)化Vue template中大量條件選擇v-if的方案分享

    本文我們將給大家詳細(xì)的講解一下如何優(yōu)化Vue template 中的大量條件選擇v-if,文中通過(guò)代碼示例介紹的非常詳細(xì),有詳細(xì)的優(yōu)化方案,感興趣的朋友可以參考閱讀下
    2023-07-07
  • vue v-for 使用問(wèn)題整理小結(jié)

    vue v-for 使用問(wèn)題整理小結(jié)

    使用v-for指令的時(shí)候遇到一個(gè)錯(cuò)誤問(wèn)題,具體錯(cuò)誤代碼在文章給大家列出,對(duì)vue v-for使用問(wèn)題感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2019-08-08
  • 淺談vue的踩坑路

    淺談vue的踩坑路

    下面小編就為大家?guī)?lái)一篇淺談vue的踩坑路。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • vue中v-mode詳解及使用示例詳解

    vue中v-mode詳解及使用示例詳解

    這篇文章主要介紹了vue中v-mode詳解以及具體的使用示例,在組件中使用?v-model?時(shí),需要定義model選項(xiàng),指定綁定的prop和事件,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • vue2之簡(jiǎn)易的pc端短信驗(yàn)證碼的問(wèn)題及處理方法

    vue2之簡(jiǎn)易的pc端短信驗(yàn)證碼的問(wèn)題及處理方法

    這篇文章主要介紹了vue2之簡(jiǎn)易的pc端短信驗(yàn)證碼的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • vue用FileSaverJs導(dǎo)出文件

    vue用FileSaverJs導(dǎo)出文件

    FileSaver.js?是在客戶端保存文件的解決方案,非常適合?在客戶端上生成文件的?Web?應(yīng)用,它是?HTML5?版本的?saveAs()?FileSaver?實(shí)現(xiàn),這篇文章主要介紹了vue用FileSaverJs導(dǎo)出文件,需要的朋友可以參考下
    2023-09-09
  • vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例

    vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例

    這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-11-11
  • 利用Vue.js指令實(shí)現(xiàn)全選功能

    利用Vue.js指令實(shí)現(xiàn)全選功能

    最近做了兩個(gè)vue的項(xiàng)目,都需要實(shí)現(xiàn)全選反選的功能,兩個(gè)項(xiàng)目用了兩種實(shí)現(xiàn)方法,第一個(gè)項(xiàng)目用vue的computed,第二個(gè)項(xiàng)目用指令來(lái)實(shí)現(xiàn),用起來(lái),發(fā)覺(jué)指令更加方便。下面就來(lái)介紹如何利用指令來(lái)實(shí)現(xiàn)全選。
    2016-09-09
  • vue如何集成raphael.js中國(guó)地圖的方法示例

    vue如何集成raphael.js中國(guó)地圖的方法示例

    最近的數(shù)據(jù)統(tǒng)計(jì)項(xiàng)目中要用到中國(guó)地圖,也就是在地圖上動(dòng)態(tài)的顯示某個(gè)時(shí)間段某個(gè)省份地區(qū)的統(tǒng)計(jì)數(shù)據(jù),我們不需要flash,僅僅依靠raphael.js以及SVG圖像就可以完成地圖的交互操作。本文就給大家介紹了關(guān)于利用vue集成raphael.js中國(guó)地圖的相關(guān)資料,需要的朋友可以參考下。
    2017-08-08

最新評(píng)論