通过从后台获取的字段的值来控制按钮的显示与隐藏

首先,用 v-if 绑定 isNeedAudit,根据其值为 true 或者 false 来控制按钮的显示与隐藏:

<el-button v-if="isNeedAudit"
             size="mini"
             type="warning"
             round
             plain
             @click="auditTask">
     {{ $t('common.audit') }}
</el-button>

在 data 中初始化 isNeedAudit 的值:

data() {
    return {
      isNeedAudit: false
    }
}

created 钩子函数中请求后台接口:

 created() {
    this.queryParam()
 }

methods 中实现请求接口的方法,将后台获取的值赋给 isNeedAudit:

// 查询taskNeedAudit参数的paramvalue
    async queryParam() {
      try {
        const param = {
          name: 'taskNeedAudit'
        }
        const res = await paramsApi.getVal(param)
        if (res == 'true') {
          this.isNeedAudit = true
        } else {
          this.isNeedAudit = false
        }
        console.log('是否需要审核', this.isNeedAudit, typeof this.isNeedAudit)
      } catch (e) {
        this.Message(e, 'error')
      }
    }

需要注意的是,从后台获取的 res 为 string 类型,而 isNeedAudit 需要为 Boolean 类型才可以,所以需要处理一下。

如下,当 isNeedAudit 为 true 时,显示“审核”按钮:
在这里插入图片描述
当isNeedAudit为false时,隐藏“审核”按钮。
在这里插入图片描述

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐