Render函数进阶: 实现数据循环, 或者显示下拉框

问题描述:

  • 使用iview的Table组件里面,后台返回的数据是个数组,需要把这个数组里的name值显示在表格里面

  • 表格里面生成下拉框,并显示下拉框数据

1, 表格数据拿到的是一个数组,需要显示在表格里面

  • 本来写了个forEach直接循环后台返回的数组params.row.product,结果拿不到数据
后台返回的数据: console.log(params.row.product)
// [{name: '书'}, {name: '电脑'}, {name: '杯子'}]
复制代码
{
    title: '产品',
    key: 'product',
    render: (h, params) => {
      params.row.product.forEach(el => {
        console.log(el.name)
        return h('div',
          {
            domProps: {
              innerHTML: el.name
            }
          })
      })
    }
  }
复制代码
  • 后来发现想法不对,数组应该作为第二项来循环,并且需要用到map而不是forEach
{
    title: '产品',
    key: 'product',
    render: (h, params) => {
      console.log(params.row.product) // [{name: '书'}, {name: '电脑'}, {name: '杯子'}]
      return h('div', params.row.product.map(v => { // 遍历后台params.row.product
         return h('div',
            {
              domProps: {
                innerHTML: v.name
              }
            })
        })
      )
    }
}
复制代码
  • 显示效果图

2,如果需要在render函数里面写下拉框

{
    title: '产品',
    key: 'product',
    render: (h, params) => {
      return h('Select', {
        props: {
          value: wwwww,
          size: 'small'
        },
      }, [
        optionList.map((val) => { // 下拉框里的内容,optionList下拉框数据
          return h('Option', {
            props: {
              value: val,
              label: id
            }
          })
        })
      ])
    }
}

复制代码
  • 显示效果图

备注:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值