当前位置:主页 > 网页前端 > vue >

vue如何实现动态的选中状态切换效果

时间:2022-06-29 09:22:50 | 栏目:vue | 点击:

动态选中状态切换效果

 HTML中的内容为以下。

<ul class="list">
     <li v-for="(item,index) in liList" v-on:click="addClass(index)" v-bind:class="{ 
         ischeck:index==current}">{{item.title}}</li>
</ul>

JS中的内容为以下。

data () {
    return {
            current:0,
            liList:[
                {title:'中国'},
                {title:'美国'},
                {title:'英国'},
                {title:'法国'}
            ]
    }
},
methods:{    
    addClass:function(index){
          this.current=index
    }
}  

CSS中的内容如下。

.ischeck  {
    background: #e6e6e6;
    height: 30px;
    width: 50px;
    line-height: 0px;
    padding: 15px 10px;
}

vue状态转换

状态展示

第一种方法

<el-table-column prop="sfgh" label="是否归还" align="center">
                <template scope="scope">
                    <p v-if="scope.row.sfgh=='0'">
                        <el-button  href="javascript:void(0)" @click="getWzghInfo(scope.$index, scope.row)">已归还</el-button>
                    </p>
                    <p v-if="scope.row.sfgh=='1'">未归还</p>
                    <p v-if="scope.row.sfgh=='2'">未还清</p>
                </template>
            </el-table-column>

第二种方法

使用formatter来实现

代码如下:

<el-table-column label="状态" :formatter="statusFormat">
</el-table-column>
 
methods: {
     statusFormat: function(row, column) {
        let status = row.status;
        let statusW = "未缴费";
        if(status == undefined) {     
              statusW = "未缴费";     
        }  
       switch(status) {
           case 1:
           statusW = "已缴费";
           break;
          case 2:
          statusW = "退款申请中";
          break;
     }
       return statusW;
 }
}

您可能感兴趣的文章:

相关文章