收藏
回答

从数据库中已获得某数组,wx:for却无法将数组渲染出来?

wx.cloud.init({
    env: 'cloud1-4gtcgk5heb93310d'//填上你的云开发环境id
    traceUser: true,})


Page({


    /**
     * 页面的初始数据
     */
    data: {
        total:'',
        abnormalList:[],
    },


    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        wx.showLoading({
          title: '数据加载中',
        })
        const db = wx.cloud.database()
         db.collection('abnormal').get({
            success: (res)=> {
                console.log("数据为",res.data);               
                // let that=this;
                    this.setData({
                    abnormalList:[res.data],
                    total:res.data.length,
                    temp:1,
                })
            },
            complete:()=>{
                wx.hideLoading()
            }
        }) 

wxml

<view wx:for="{{abnormalList}}" wx:key="number">
<text>日期:{{item.date}}</text>
<text>内容描述:{{item.Infomation}}</text>
<text>项目:{{item.project}}</text>
</view>

小程序渲染层是要等逻辑层代码运行完毕后再根据逻辑层的运行结果再进行渲染的吗?

首先从数据库中成功获取了一个数组,但是无法在wxml中使用wx:for渲染出来,是由于wxfor的渲染早于JS中数据获取的时间吗?

如何等先获取完数组再进行渲染啊?如何在界面渲染前加载好数据?

这个卡在问题上好几天了,是没有懂的人知道怎么解决吗?

麻烦回答的人别扔一句同步异步问题就跑,我没有项目经验,请稍微点一下这种问题该怎么解决?

回答关注问题邀请回答
收藏

1 个回答

  • 孤竹君
    孤竹君
    2023-08-15

    abnormalList:[res.data],

    以上问题经查为此行代码res.data两边加[]导致。删除后恢复正常

    2023-08-15
    有用 1
    回复
登录 后发表内容