下拉列表,当后端返回的是数字,我们需要展示文字的情况

270 阅读1分钟

1661088997826.jpg

绑定的下拉列表,需要把下列列表选中的值传给后端 html部分

   <el-select v-model="articleDialog.newsTypesList"
                       placeholder="所属模块">
              <el-option v-for="item in options"
                         :key="item.value"
                         :label="item.label"
                         :value="item.value">
              </el-option>
            </el-select>

这是表单需要拿到后端的值展示的部分

<el-table-column prop="modelLabel"
                               label="所属模块" align="center"></el-table-column>
                               

data部分

    options: [
        {
          value: '0',
          label: '案例分析',
        },
        {
          value: '1',
          label: '医谱咨询',
        },
        {
          value: '2',
          label: '治疗推荐方案',
        },
        {
          value: '3',
          label: '有声科普',
        },
        {
          value: '4',
          label: '健康视频',
        },
        {
          value: '5',
          label: '健康前沿',
        },
        {
          value: '6',
          label: '伽澜动态',
        },
      ],

请求表单列表的时候就需要把后端传回来的数字 转成我们想要的内容

 async loadArticleTableList() {
      let param = {
        plate: 2,
        isDelete: 0,
        stewardStatus: 1,
        label: this.articleDialog.selectType,
        title: this.articleDialog.title,
        startTime: '',
        endTime: '',
        pageNum: this.articleDialog.pageNum,
        pageSize: this.articleDialog.pageSize,
      }
      if (this.articleDialog.taskTime) {
        param.startTime = this.articleDialog.taskTime[0]
          param.endTime = this.articleDialog.taskTime[1]
      }
      let res = await newsPageNews(param)
      this.articleDialog.selectRadio = null
      if (res.status == 200 && res.data) {
        console.log(res, '文章右侧')
        // 请求成功回来的值先转再赋值
        res.data.list.forEach((row, index) => {
          //用find在options里面去和row里面的newsIndex匹配
          let item = this.options.find((v) => v.value == row.newsIndex)
          //item找到了就赋值给modelLabel去页面展示
          row.modelLabel = item ? item.label : ''
        })
        this.articleDialog.newsList = res.data.list
        this.articleDialog.newsTotal = res.data.total * 1
      } else {
        this.articleDialog.newsList = []
        this.articleDialog.newsTotal = 0
      }
    },