el-checkbox-group勾选框多选和表格联动 表格数据根据多选框的顺序显示,不能根据勾选顺序显示

 <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
        <el-checkbox v-for="city in props.cities" :key="city.taskId" :label="city.taskId">{{
        city.taskName
        }}</el-checkbox>
      </el-checkbox-group>

 <el-table :data="TableDataPlan" ref="tableRef" style="width: 100%" height="500">  </el-table>

const handleCheckedCitiesChange = (value: string[]) => {
  const checkedCount = value.length
  checkAll.value = checkedCount === props.cities.length
  isIndeterminate.value = checkedCount > 0 && checkedCount < props.cities.length
  TableDataPlan.value = value.map(checkItem => {
    let selectItem = TableDataPlan.value.find((tableItem: any) => tableItem.taskId == checkItem)
    if (!!selectItem) {
      return {
        ...selectItem,
        itemPlanId: props.itemPlanId
      }
    } else {
      let obj = props.cities.find((item: any) => item.taskId == checkItem)
      return {
        ...JSON.parse(JSON.stringify(obj)),
        finishDate: moment().format('YYYY-MM-DD'),
        startDate: moment().format('YYYY-MM-DD'),
        itemPlanId: props.itemPlanId

      }
    }
  })

  // 按显示顺序排序 

  let tables = props.cities.map((item: any) => {
    return {
      ...item,
      finishDate: moment().format('YYYY-MM-DD'),
      itemPlanId: props.itemPlanId

    }
  })
  TableDataPlan.value = tables.filter((checkboxItem: any) => {
    let selectItem = TableDataPlan.value.find((tableItem: any) => tableItem.taskId == checkboxItem.taskId)
    if (selectItem) {

      return {
        finishDate: moment().format('YYYY-MM-DD'),
        ...JSON.parse(JSON.stringify(selectItem)),
        itemPlanId: props.itemPlanId
      }
    } else {
      return undefined
    }
  })
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值