小橙子
新手
新手
  • 最后登录2023-04-14
  • 发帖数11
阅读:2145回复:0

vant2实现点击单元格进入对应的Tab标签页展示内容

楼主#
更多 发布于:2023-04-13 20:38
一、组件
1、进行跳转的Grid宫格作为跳转


  <div>
    <van-grid>
      <van-grid-item icon="photo-o" text="全部" />
      <van-grid-item icon="photo-o" text="待发货" />
      <van-grid-item icon="photo-o" text="待付款" />
      <van-grid-item icon="photo-o" text="待评价" />
    </van-grid>
  </div>




 


 2、点击跳转后的Tab标签页


这里用vant2里面Tab里面的基础用法


<template>
  <div>
    <van-tabs v-model="active">
        <van-tab title="全部">全部</van-tab>
        <van-tab title="待付款">待付款</van-tab>
        <van-tab title="已付款">已付款</van-tab>
        <van-tab title="待评价">待评价</van-tab>
      </van-tabs>
  </div>
</template>
 
<script>
export default {
    data() {
    return {
      active: 2,
    };
  },
}
</script>


 


 然后把这个Tab标签的组件配置路由


二、给Grid加上to属性和路由路径
    <van-grid>
      <van-grid-item icon="photo-o" text="全部" to="/info" />
      <van-grid-item icon="photo-o" text="待发货" to="/info"/>
      <van-grid-item icon="photo-o" text="待付款" to="/info"/>
      <van-grid-item icon="photo-o" text="待评价" to="/info"/>
    </van-grid>
这个时候四个格子都可以跳转到Tab的组件,但是在Tab组件中active的默认值是2,四个格子跳转后都是展示第三个tab页内容






三、给to属性添加参数
在to属性的路径后面,拼接?问号,然后用属性:属性值进行传递


是     /路径?请求参数


不是 /路径/请求参 (在这里卡了好长时间没发现)


    <van-grid>
      <van-grid-item icon="photo-o" text="全部" to="/info?id=0" />
      <van-grid-item icon="photo-o" text="待发货" to="/info?id=1"/>
      <van-grid-item icon="photo-o" text="待付款" to="/info?id=2"/>
      <van-grid-item icon="photo-o" text="待评价" to="/info?id=3"/>
    </van-grid>
 四、在B组件中让active接收传递的id值,并转为数字类型
<script>
export default {
    data() {
    return {
      active: Number(this.$route.query.id)
    };
  },
}
</script>
用:this.$route.query.id  获取到传递来的id值,赋值给active,就可以去控制active的值了,需要转为数字类型


    return {
      active: +this.$route.query.id
    };
游客


返回顶部

公众号

公众号