vue—统一状态判断管理

在写一些后台项目的时候,我们经常会遇到用一些条件去判断按钮,或者文案的显示情况

<el-button v-if=“status === 1 && is_show=== 2“>提 交 审 核</el-button>

通常我们会这样判断 ,在按钮上加很多的v-if写上一长串的判断条件,既影响html的阅读 ,也不利于重复的判断条件复用,为了应对这样的需求推荐给大家一种统一状态管理的写法。

首先在项目模块中可以新增一个js文件:例如:Reward.js

Reward.js:

export default class Reward {

 isDel() {
    return this.state_name === '待执行'
  }


  isLookup() {
    return ['待执行', '已执行'].indexOf(this.state_name) > -1
  }


}

然后在使用的页面:

import Reward from "./Reward";

        <el-table-column
          label="操作"
          align="right"
          header-align="center"
          width="280"
        >
          <template slot-scope="scope">
            <el-button
              type="text"
              size="small"
              v-if="scope.row.isDel()"
              @click="handleConfirmOpera('del', scope.row)"
              >删除</el-button
            >
            <el-button
              type="text"
              size="small"
              v-if="scope.row.isDel()"
              @click="handleConfirmOpera('del', scope.row)"
              >查看</el-button
            >
        </template>
      </el-table-column>

这样html结构看起来简洁,重复的判断逻辑也可以复用啦~~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值