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; } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。