先执行:uni.setTabBarItem({
index: 0,
text: '回顶部' ,
selectedIconPath: isTop ? 'static/tabBar/home-top.png' : '/static/tabBar/home-selected.png'
})
再获取:
onTabItemTap(e){
const { text } = e
console.error('eee', e)
},
- 发布:2024-09-04 16:36
- 更新:2024-09-04 17:52
- 阅读:117
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
手机系统: Android
手机系统版本号: Android 14
手机厂商: 小米
手机机型: 红米k40s
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: CLI
CLI版本号: 4.24
示例代码:
操作步骤:
方法执行:
uni.setTabBarItem({
index: 0,
text: '回顶部' ,
selectedIconPath: isTop ? 'static/tabBar/home-top.png' : '/static/tabBar/home-selected.png'
})
点击tab执行:
onTabItemTap(e){
const { text } = e
console.error('eee', e)
},
方法执行:
uni.setTabBarItem({
index: 0,
text: '回顶部' ,
selectedIconPath: isTop ? 'static/tabBar/home-top.png' : '/static/tabBar/home-selected.png'
})
点击tab执行:
onTabItemTap(e){
const { text } = e
console.error('eee', e)
},
预期结果:
打印text为“回顶部”
打印text为“回顶部”
实际结果:
打印text非“回顶部”
打印text非“回顶部”
bug描述:
先执行:uni.setTabBarItem({
index: 0,
text: '回顶部' ,
selectedIconPath: isTop ? 'static/tabBar/home-top.png' : '/static/tabBar/home-selected.png'
})
再获取:
onTabItemTap(e){
const { text } = e
console.error('eee', e)
},
打印的文字内容不是“回顶部”,而是原来老内容
i***@163.com (作者)
<!-- -->
<template>
<view>
<button
:style="{
marginTop: '100rpx'
}"
@click="click"
>点击事件</button>
</view>
</template>
<script>
export default {
data() {
return {}
},
components: {},
onTabItemTap(e) {
const { text } = e
console.error('text', text)
},
onHide(){
uni.setTabBarItem({
index: 0,
text: '测试'
})
},
methods: {
click(){
const a = true
uni.setTabBarItem({
index: 0,
text: a ? '回顶部' : '首页',
})
}
}
}
</script>
-
你试一下再onHide中延迟一下执行
onHide() {
setTimeout(()=>{
uni.setTabBarItem({
index: 0,
text: '测试'
})
},0)
},2024-09-04 18:01
-
i***@163.com (作者)
回复 DCloud_UNI_yuhe: 先说第一个问题:click事件中设置完uni.setTabBarItem(效果确实文字已改成“回顶部”),但是onTabItemTap生命周期里面打印的还是“首页”,先定位下这个问题?
2024-09-05 08:59
i***@163.com (作者)
下边写了个demo,你试下,onTabItemTap里面的打印,和onHide都有问题
2024-09-04 17:53