van-checkbox-group 绑定item对象,无法回显选中结果?

选择台风年份

 <template v-for="(item, index) in yearList">
                  <div :key="index" class="tyName" @click.prevent="selectTy(item, index)"
                    :class="activeIndex === index ? 'active' : ' '">
                    {{ item.TYPHOON_YEAR }}
                  </div>
                </template>

选择台风名称

<van-checkbox-group v-model="result" :max="4" @change="changeTy">
                  <van-checkbox style="margin: 30px 0" v-for="(item, index) in tyList" :name="item" :key="index">{{
                      item.TYPHOON_ID
                  }} {{ item.CHN_NAME }}
                    {{ item.ENG_NAME }}</van-checkbox>

                </van-checkbox-group>

result 是选中结果
tyList 是接口返回的结果
切换台风年份的时候,tyList会从接口获取数据更新 但是如果有选中的,来回切换年份无法回显
如果name改成绑定id的话 是可以回显的 但是会影响其他功能

 //选择台风年份
    selectTy(item, index) {
      this.activeIndex = index;
      this.getTyList(item.TYPHOON_YEAR);//调用接口 更新tyList
    },
阅读 7.7k
2 个回答

JSON.stringify(item)

首先正常情况下你的tyList的数据是由年份影响的,按道理切换年份就该清空之前选中的result,因为之前result很可能就没有了,所以当然没有回显。如果强行要保留,就是获取新的tyList后,把之前result的结果再push进去tyList,但是不知道你切换后的数据会不会和result的结果有没有重复,有重复可能还要去重等操作,不知道对你后续业务有没有影响,所以不建议这样做。以前也遇到过这种需求,后来商量是另外展示最终结果,切换逻辑不变。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题