弹窗中表格跨页勾选及回显

watch: {
    isvisible(val) {
      if (val){
        this.currentchoose = {}
        this.currentchoose.other = this.choosedata
        console.log('弹窗打开赋值', this.currentchoose)
        this.$nextTick(() => {
          this.toggleTable()
        })
      }
    }
  },
methods: {
    // 改变选中触发事件
    selectionChange(selection) {
      if (!this.reshow){
        this.currentchoose['page' + this.pageIndex] = selection
        console.log('勾选赋值', this.currentchoose)
      }
    },
    toggleTable(){
      this.$refs.fundList.clearSelection()
      this.currentchoose['page' + this.pageIndex] = []
      this.reshow = true
      this.choosedata.map(item => {
        this.fundList.forEach(it => {
          if (item.code === it.code){
            this.$refs.fundList.toggleRowSelection(it, true)
            this.currentchoose['page' + this.pageIndex].push(it)
            this.currentchoose.other = this.currentchoose.other.filter(el => el.code !== it.code)
          }
        })
      })
      this.reshow = false
      console.log('回显赋值', this.currentchoose)
    },
    submit(){
      console.log('提交赋值', this.currentchoose)
      let newChoose = []
      for (let k in this.currentchoose){
        newChoose = [...newChoose, ...this.currentchoose[k]]
      }
      const map = new Map()
      const newArr = newChoose.filter(v => !map.has(v.code) && map.set(v.code, v))

      console.log('去重后', newArr)
      this.$emit('updatedata', newArr)
      this.isvisible = false
    }
  },

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值