element-ui中表格快速渲染方法

13 篇文章 0 订阅
12 篇文章 0 订阅

以前习惯用v-for遍历后去渲染,后来公司的静态页面都是做好的,只需要渲染数据即可,学到了一个快速的方法
1. 将要渲染的表格内容用prop表示出来
在这里插入图片描述
2. get到的数据用对象保存
在这里插入图片描述
3. 如果要根据后台返回不同的字段,显示不同的值,可定义formatter函数
在这里插入图片描述
下面贴出全部代码

<template>
  <div class="voice-info">
      <div class="equipInfo-voice">
      <div class="common-fresh">
        <div>语音口状态</div>
        <div @click="refresh">刷新</div>
      </div>
      <div class="voice-table">
        <div class="voice-table">
        <el-table :data="tableData3" style="width: 100%">
          <el-table-column prop="register" label="注册状态" :formatter="stateFormat"> 
          </el-table-column>
          <el-table-column prop="reason" label="失败原因"> </el-table-column>
          <el-table-column prop="SIP_user" label="SIP账号" width="300px"> </el-table-column>
        </el-table>
      </div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData3: []
    };
  },

  methods:{
    stateFormat(row,column){
      if(row.register.indexOf('Disabled ')>-1){
        return "未使能"
      }
      if(row.register.indexOf('Up')>-1){
        return "已注册"
      }
      if(row.register.indexOf('Initializing')>-1){
        return "初始化中"
      }
      if(row.register.indexOf('Registering')>-1){
        return "注册中"
      }
      if(row.register.indexOf('Unregistering')>-1){
        return "注销中"
      }
      if(row.register.indexOf('Error')>-1){
        return "错误"
      }
      if(row.register.indexOf('Testing')>-1){
        return "测试中"
      }
      if(row.register.indexOf('Quiescent')>-1){
        return "静止"
      }
    },
    getVoiceInfo(){
       this.$http(this.$api.voice_sipstats).then((res)=>{
         if(res.status ===0){
           this.tableData3=res.data.accounts.map((item,index)=>{
            let obj={
              SIP_user:item.user,
              register: item.status,
              reason:item.last_error.reason
            }
             return obj;
           })
         }
       })
    },
    refresh(){
      this.getVoiceInfo();
    }
  },
  created () {
    this.getVoiceInfo();
  }
};
</script>

<style scoped>
.voice-table {
  margin-top: 27px;
}
</style>

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值