从入门到做保安
从入门到做保安
  • 发布:2019-06-03 18:04
  • 更新:2021-08-30 10:52
  • 阅读:3912

关于uni.setTabBarItem接口的建议

分类:uni-app

uni.setTabBarItem目前只能更换样式,不能更换路径。
建议增加更换路径的属性,因为不能更换路径,所以不得不写自定义tabbar,还请官方考虑一下。

2019-06-03 18:04 负责人:无 分享
已邀请:
从入门到做保安

从入门到做保安 (作者)

主要因为不好解决有根据登陆帐号的身份加载不同的tabbar 的功能

DCloud_UNI_FXY

DCloud_UNI_FXY

tabbar 页面内根据不同身份,渲染不同组件即可

  • 从入门到做保安 (作者)

    所以这个只能用自定义tabbar了,不能用原生的Tabbar

    2019-06-04 10:51

  • DCloud_UNI_FXY

    回复 从入门到做保安: 为什么呢。跟 tabBar 没关系啊。你页面里边根据身份渲染不同组件,为何要自定义 tabBar 才可以呢

    2019-06-04 11:34

  • 从入门到做保安 (作者)

    回复 DCloud_UNI_FXY: 我使用的是原生tabbar 对吧,但是我切换身份后,能更换tabbar的样式和字体和图标内容,但是不能更换他pages里面的路径啊。我看接口都没有切换路径的

    2019-06-06 09:33

  • 从入门到做保安 (作者)

    我是需要根据身份来动态更改tabbar的,既然更换了tabbar的按钮,不能只是内容换了却不换打开的页面吧

    2019-06-06 09:34

  • DCloud_UNI_FXY

    回复 从入门到做保安: 我说的是在不修改页面路径的情况下,在同样的页面路径里根据身份不同,渲染不同的组件内容

    2019-06-06 11:46

  • 从入门到做保安 (作者)

    回复 DCloud_UNI_FXY: 这样太复杂了,一共有4,5种身份,用户,商家,接单员,工作人员,一个页面里面写很多运算,性能应该也有所下降吧。我们目前的想法是在登录的时候选择身份,在登陆后打开的tabbar可以直接打开不同的页面。

    2019-06-06 13:51

  • DCloud_UNI_FXY

    回复 从入门到做保安: 修改路径无法跨平台,需要其他平台底层支持,

    为什么会复杂, tabBar 页面只是一个简单的判断,引用哪个组件,真正的业务代码全都在具体的组件里

    <Page1 v-if="role1"/>

    <Page2 v-if="role2"/>

    <Page3 v-if="role3"/>

    2019-06-06 14:07

  • 从入门到做保安 (作者)

    回复 DCloud_UNI_FXY: 其他两个没有显示的页面没有性能上的影响对吧?如果初始化之类的,比如打开页面就要执行的功能,他是隐藏的会不会执行呢?

    2019-06-06 17:01

  • 从入门到做保安 (作者)

    回复 DCloud_UNI_FXY: 在吗?我测试了,这样是可以的,但是不能动态增减tabbar的数量呀,请问这个有解决方案吗?比如用户我有5个底部按钮,但是平台只有三个,请问这种怎么处理呢?

    2019-06-09 21:01

  • DCloud_UNI_FXY

    回复 从入门到做保安: 目前没有跨平台增减 tabbar 的 API,你的工程是要发布到哪些平台?

    2019-06-10 20:10

  • 从入门到做保安 (作者)

    回复 DCloud_UNI_FXY: 只发APP就行了,小程序不需要写多个端在同一个APP里面

    2019-06-12 17:00

  • DCloud_UNI_FXY

    回复 从入门到做保安: 只做 App 的话,可以考虑自己用 5+ 的 nativeObj 画原生 tabBar,可以参考插件市场http://ext.dcloud.net.cn/,搜索 tabbar 相关的插件,看看别人怎么做的

    2019-06-12 17:53

  • 1***@qq.com

    回复 DCloud_UNI_FXY: 不能修改路径会产生比如一个页面,A用户是一个表单,B用户显示的是一个列表,那uniapp上面的onPullDownRefresh等事件就无法监听,这个怎么处理为好

    2019-06-13 21:36

  • 1***@qq.com

    回复 DCloud_UNI_FXY: 页面内用组件后,无法监听uniapp的事件。怎么处理 好

    2019-06-13 21:39

  • DCloud_UNI_FXY

    回复 1***@qq.com: 页面内监听事件,触发后,$refs 访问子组件调用具体方法。

    2019-06-14 12:08

  • 守护

    对于一些App,需要针对不同角色来显示tabbar的item,重点是不同角色的item数量不同,怎么在页面内根据不同身份,渲染不同组件即可?


    比如A角色tabbar的item需要3个,B角色需要4个,怎么办?如果显示最大的数量,怎么隐藏某个item?如果显示最小数量,怎么显示某个item?看到目前已经支持设置pagePath,是一个很大的改进,希望官方能继续改进,让tabbar动态显示和隐藏某个item。

    2020-09-07 09:44

  • 3***@qq.com

    回复 DCloud_UNI_FXY: 一个身份进去有5个tabbar 另外一个身份进去只有4个tabbar 如何处理?

    2022-03-09 21:22

ybs5431

ybs5431

官方这个确实应该改进一下,不然这个api有什么意义呢?如果开发者根据自己的需求加载不同的组件,这个api完全可以废弃。

该问题目前已经被锁定, 无法添加新回复