技术不行但人小帅 2023-02-25 10:50 采纳率: 59.7%
浏览 32
已结题

uniapp 二级导航渲染的问题

我有一个一级导航是“选择城市”(有调用位置接口,例如获取到的城市,长沙) 二级导航是 “选择类型” 默认是类型1(选择类型是根据获取到的城市再通过数据库返回类型) 然后下边渲染页面,

如何然后给这个页面给上初始值?
意思就是说 长沙-类型1-页面,

目前我使用computed筛选数据数组 发现一开始即使获取到了城市(调用返回)也不会自动调用这个computed只有点击城市或二级导航时才会根据所点击的按钮筛选,

这就造成一个问题、调用的接口返回的城市和类型 即时是有值但是页面显示是空的,当点击时才会计算渲染,

请问我该怎么从后台获取的数据一开始就附上初始数据渲染页面?
watch监听是否也可以?能有代码参考吗?

或许我上边所说的思路是错的,不应该这样,我的目的是想一次性获取到城市数据然后渲染这样提升一下性能而不用每次调用数据库,所以才使用computed 但是他并不会自动调用,有什么好的解决办法?

从后台数据返回 rentlists 
html
<view class="contentInfo" @click='goContent' v-for="(item,index) in rentData" :key="index" />

computed

            rentData: function() {
                let that=this;
                return that.rentlists.filter(function(item) {
                     // console.log(that)
                      if(that.theCity=="xx市区"){
                           // if(that.cityShow=false){
                               
                            return item.homeType== that.navMain
                           // }
                           
                      }else{
                          return item.city!="xx市" && item.homeType== that.navMain
                      }
                })
            },

img


点击后

img

此时并没有任何数据 当点击后才有 请问我该如何修改?即页面一开始就显示当前选项的值

  • 写回答

1条回答 默认 最新

  • CodeBytes 2023-02-25 11:04
    关注

    该回答引用ChatGPT

    如果你希望页面一开始就显示获取到的城市和类型的数据,而不是需要用户手动点击才能显示,则你可以在页面初始化的时候,手动调用一次筛选数据的computed属性。

    你可以在页面的created或者mounted钩子函数中手动调用computed属性,以便初始化数据的渲染。

    例如:

    
    
    created() {
      this.rentData // 手动调用computed属性
    }
    或者
    
    javascript
    Copy code
    mounted() {
      this.rentData // 手动调用computed属性
    }
    
    

    这样,当页面初始化完成后,就会立即调用computed属性,筛选数据并渲染页面。

    如果你希望在获取到城市和类型数据后自动更新页面,你可以使用watch监听城市和类型的变化,并在变化后手动调用computed属性。

    例如:

    
    watch: {
      theCity: function(newVal, oldVal) {
        this.rentData // 手动调用computed属性
      },
      navMain: function(newVal, oldVal) {
        this.rentData // 手动调用computed属性
      }
    }
    
    

    这样,当城市或类型发生变化时,watch就会被触发,然后手动调用computed属性,重新筛选数据并渲染页面。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月25日
  • 修改了问题 2月25日
  • 修改了问题 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址