vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue动态选中状态切换效果

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

作者:黑暗中跳舞的月亮

这篇文章主要介绍了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;
 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文