组件勾选状态保持回显

 <van-checkbox-group v-model="result">
      <van-cell-group>
        <van-cell v-for="(item, index) in tabelData" :key="index" @click="toggle(index)" class="card_box">
          <div class="info_box">
            <div class="driverPhoto_box">
              <van-image width="50" height="50" :src="require('../../../assets/img/bigCar.png')" />
            </div>
            <div class="driverInfo_box">
              <van-cell-group :border="false">
                <van-cell :border="false" title="车牌号:" :value="item.carNumber" />
                <van-cell :border="false" title="荷载:" :value="item.posting" />
                <van-cell :border="false" title="状态:"
                  :value="item.state==0?'空闲中':item.state==1?'货运中':item.state==-1?'待审核':item.state==-2?'待提交':item.state==-3?'驳回':item.state==4?'失效':''" />
                <van-cell :border="false" title="有效时间:" :value="item.byTime" />
              </van-cell-group>
            </div>
          </div>
          <template #right-icon>
            <van-checkbox :name="item" ref="checkboxes" />
          </template>
        </van-cell>
      </van-cell-group>
    </van-checkbox-group>
 //初始化
  public async initInfo(data) {
    console.log('上个页面的传来的data', data)
    this.$store.commit('app/setShowHeader', false)
    let res = await getCarAllInfoApp('', '0')
    console.log('本页面的调取接口的res数据', res)
    this.tabelData = res
    this.result = []
    // data:上个页面传来的值
    // 对上个页面传来的值遍历
    data.forEach((item, index) => {
      // 找到第一个符合条件的元素返回位置,没找到返回-1
      // 如果本页面接口里的id 等于 上个页面遍历的某个对象的id  而且找到了
      if (res.findIndex((innerItem) => innerItem.id == item.id) > -1) {
        //    // 切换选中状态,传true为选中,false为取消选中,不传参为取反
        // /本页面接口的某条数据的id等于上个页面传来的数据的id,而且找到了,返回true,表示勾选
        this.toggle(res.findIndex((innerItem) => innerItem.id == item.id))
      }
    })
  }
  // 点击某条数据的check按钮,带下表index 0,1,2.。。。。
  // 切换选中状态,传true为选中,false为取消选中,不传参为取反
  // 本页面点击,对check状态取反
  private async toggle(index) {
    console.log('驾驶员绑定的toggle', index)
    await this.$nextTick()
    // 切换选中状态,传true为选中,false为取消选中,不传参为取反
    ;(this.$refs.checkboxes[index] as any).toggle()
  }
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值