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; } }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读