前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >后台只返回编号,前端如何解析成对应的文字显示

后台只返回编号,前端如何解析成对应的文字显示

原创
作者头像
xyzzz
修改2020-12-02 14:24:58
7070
修改2020-12-02 14:24:58
举报
文章被收录于专栏:前端学习。前端学习。

页面效果

后台返回的数据类型

代码语言:javascript
复制
'type': 'Bi,Ea',

需要做的处理

后台返回的不同的字符串编号,每个编号对应不同的文字描述,比如说 Bi 对应消息推送应用。前端需要对后台返回的字符串做识别判断

代码语言:javascript
复制
 // template
 // 模板中不能直接遍历后台返回的type属性,而是绑定和遍历处理过后的 newType 属性
 <el-table-column prop="newType" label="应用类型" show-overflow-tooltip>
    <template slot-scope="scope">
       <span v-for="(item,index) in scope.row.newType" :key="index" class="app-type">{{ item.value }}</span>
    </template>
 </el-table-column>
 
 // ========================================================================
 // script
 data() {
    return {
      searchData: {
        appId: ''
      },
      tableData: [],
      appType: [{
        code: 'Bi',
        value: '消息推送应用'
      },
      {
        code: 'Pa',
        value: '公众号应用'
      },
      {
        code: 'Ga',
        value: '群发应用'
      },
      {
        code: 'Ea',
        value: '移动ehome应用'
      },
      {
        code: 'Ma',
        value: '调用ModuleAuthorityService接口应用'
      },
      {
        code: 'Ot',
        value: 'others其他应用'
      }]
    }
  },
  
    methods: {
    // 获取应用数据
    async getAppInfo() {
      const data = { ...this.searchData, ...this.page }
      const response = await getAppInfo(data || null)
      const { objRes } = response
      this.tableData = objRes.records    //赋值表格数据
      this.tableData.forEach(item1 => {  //遍历表格数据
        item1.newType = []    //给表格每一行添加一个新的数组属性。用于存放解析后的编码和对应文字
        const codeArr = item1.type.split(',') //把每一行的type属性通过split分解成一个数组 得到['Bi','Ea']
        codeArr.forEach(item2 => {         //遍历该数组
          this.appType.forEach(item3 => { //遍历前端定义的appType
            if (item2 === item3.code) {  // 如果 item2 的编号和 item3的code属性相等
              item1.newType.push({     //就把item2 的编号 和 item3的value 赋值给每一行的新增加item1属性
                code: item2,
                value: item3.value
              })
            }
          })
        })
      })
    }
  }

如果还有其他更好的方法,请路过的大佬们指点~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 页面效果
  • 后台返回的数据类型
  • 需要做的处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档