朋友们,今天使用uniapp+uview的时候,u-tabs组件,点击上面的导航的时候,发现页面没切换,这个怎么做到点击不同的导航,下面展示不同的页面呀
这个 就是 类似于 tab选项卡吧 。 点击 不同的东西 ,页面里的 数据跟着切换。你写个 列表 然后加点击事件。每次点击 根据 点击的内容 切换数据(请求不同的接口)
根据参考资料和问题描述,您想要在使用uniapp+uview 的u-tabs组件时实现点击不同的导航可以切换下面展示的不同页面,但是实际操作中点击导航后并没有出现页面切换的效果。下面是解决方案:
<template>
标签内,将 u-tabs 组件放在一个容器内,然后将需要展示的不同页面放在对应的 <view>
标签内,标签内添加 v-show
属性,用于判断当前是否展示该页面,例如:html <template> <view> <u-tabs :tabs="tabsList" v-model="activeIndex" @change="handleChange"> <view v-for="(item, index) in tabsList" :key="index" v-show="activeIndex === index"> <view>{{item.title}}</view> </view> </u-tabs> </view> </template>
上述代码中,<u-tabs>
组件的 tabs
属性用于传递导航栏的标题和索引值数组,v-model
用于绑定当前选中的导航栏的索引值,@change
用于监听导航栏的切换事件,然后根据当前选中的索引值,控制 <view>
标签内的 v-show
属性来判断是否展示该页面。
<script>
标签内,定义 tabsList
数组,用于存储导航栏的标题和索引值数组,并定义 activeIndex
变量,用于记录当前选中的导航栏索引值。然后在 data
函数中返回这两个变量:```javascript
```
上述代码中,tabsList
数组内包含三个对象,分别表示导航栏的标题和索引值,activeIndex
变量为 0,表示默认选中第一个导航栏。
<style>
标签内,添加样式以美化页面,例如:```css
```
上述代码中,.u-tabs__tab
样式用于设置导航栏之间的距离,.u-tabs__ink-bar
样式用于设置导航栏底部滑动条的高度。
综上所述,以上三步即可完成使用 uniapp+uview 的u-tabs 组件实现点击不同的导航可以切换下面展示的不同页面的功能。