Vue-同一个编辑窗口,引入两个选项不同的下拉框

理解:从功能和格式上来说,两个下拉框几乎是一样,不同的是传入的参数不同。利用transeoption()工具类可以改变参数。

SelectUser.vue

SelectFirstyparty.vue

从接口传进来的是数组数据,transeoption()的作用就是将数组数据转用于select option对象,并且可以选值传入。

下面是tanseoption的代码

/**
 * @description 数组数据转用于select option对象
 * @param data 数组
 * @param value option的value项
 * @param lable option的lable项
 * @param flag 是否显示,请选择
 * @param val 指定,请选择,对应的value值
 * @param value2 存在时,将该值指定的字段,添加逗号后连接到value之后,不存在时,忽略
 * @param lable2 存在时,将该值指定的字段,添加逗号后连接到lable之后,不存在时,忽略
 * @return 返回option的集合,[{'value':'value','label':'label'}]
 */
export function transeoption(
  data: any,
  value: any,
  lable: any,
  flag: boolean,
  val: any,
  value2: any = '',
  lable2: any = ''
) {
  const vals = val || 0
  let arr: { value: any; label: any }[] = []
  if (flag) {
    arr = [
      {
        value: vals,
        label: '请选择',
      },
    ]
  }
  //console.log('value2', value2)
  data.forEach((otem: any) => {
    let valuestr = otem[value]
    if (value2 != '') {
      valuestr += `,${otem[value2]}`
    }

    let lablestr = otem[lable]
    if (lable2 != '') {
      lablestr += `,${otem[lable2]}`
    }
    arr.push({
      value: valuestr,
      label: lablestr,
    })
  })
  return arr
}

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值