当前位置:   article > 正文

uni.setNavigationBarTitle 标题动态化_uni-app navigationbartitletext 动态展示

uni-app navigationbartitletext 动态展示

目录

类型一: 

类型二: 


直接上代码:

类型一: 

  1. <template>
  2. <view @click="changTitle">
  3. 题目详情页面
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {};
  10. },
  11. onLoad: function (options) {/页面一打开,就显示设置的标题
  12. uni.setNavigationBarTitle({
  13. title: '标题1'
  14. })
  15. },
  16. methods: {
  17. changTitle(e){/点击事件,显示标题
  18. uni.setNavigationBarTitle({
  19. title:'标题2'
  20. })
  21. }
  22. }
  23. }
  24. </script>
  25. <style>
  26. </style>

类型二: 

官网:

  • 如果需要在页面进入时设置标题,可以在onReady内执行,以避免被框架内的修改所覆盖。如果必须在onShow内执行需要延迟一小段时间

        打印页面生命周期发现onLoad先于onReady执行,所以即使数据是上一个页面传递过来的,也不会影响标题的展示。

  1. //第一步,我们可以在data中定义一个变量headerTitle
  2. data(){
  3. return {
  4. headerTitle:"",//导航栏的标题
  5. }
  6. }
  7. //第二步,在onLoad页面周期中去获取上一个页面传递的参数,然后对headerTitle进行赋值,方便我们接下来的使用
  8. onLoad(props) {
  9. console.log(props,"onLoad");//获取上一个页面传递的数据
  10. if (props?.title) {
  11. const titleType = props.title;
  12. let barTitle = "预约会议";
  13. switch (titleType) {
  14. case "order":
  15. barTitle = '预约会议';
  16. break;
  17. case "create":
  18. barTitle = '创建会议';
  19. break;
  20. case "edit":
  21. barTitle = '编辑会议';
  22. break;
  23. default:
  24. break;
  25. }
  26. this.headerTitle=barTitle
  27. }
  28. }
  29. //最后,需要在onReady中进行设置标题,⚠️onReady中没有接收的参数
  30. onReady(){
  31. uni.setNavigationBarTitle({
  32. title: this.headerTitle
  33. });
  34. }
  35. //上一个页面传递的参数
  36. const type = 'create';//传递给下一个页面的参数
  37. uni.navigateTo({
  38. url: `/pages/bookAMeeting/index?title=${type}`
  39. })

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/457957
推荐阅读
相关标签
  

闽ICP备14008679号