收藏
回答

请问一下怎么把云数据库里的搜索到的数据循环赋值给mackers组件?

   formSubmit: function (e) {

    

    var that = this;

    var formData = e.detail.value.keyword;

    wx.showLoading({

      title: '搜索中',

      icon: 'loading'

     })


    //console.log('输入',this.data.value)

    const db = wx.cloud.database()

    var that = this

    db.collection('hosp').where({   //"hosp"是要查询的云开发数据库合集的名字

 //使用正则查询,实现对搜索的模糊查询

    nam: db.RegExp({   //这里的"医院名称"是自己需要查找的字段名

    regexp: formData,

    //从搜索栏中获取的value作为规则进行匹配。

    options: 'i',

    //大小写不区分

    })

    }).get({

      success: res => {

        //var queryResult= JSON.stringify(res.data, null, 2)

        //const countResult = await db.collection('hosp').count()

      for (var i = 0; i<res.data.length; i++)

      {

        that.setData({

        isShowLayer:true,

          queryResult:JSON.stringify(res.data, null, 2),

          //lon:JSON.stringify(res.data[i].lon),

          //lat:JSON.stringify(res.data[i].lat),

          list: res.data,

          [markers]:{ id: res.data[i].id, iconPath: '/image/location.png', latitude: res.data[i].lat, longitude: res.data[i].lon },

        })

      

        console.log('[数据库] [查询记录] 成功: ', res)

        wx.hideLoading();

      }

      },

      fail: err => {

        wx.showToast({

          icon: 'none',

          title: '查询记录失败'

        })

        console.error('[数据库] [查询记录] 失败:', err)

      }

    })



     },


这段代码是错误的:

那个markers是这样的不行吗 

 [markers]:{ id: res.data[i].id, iconPath: '/image/location.png', latitude: res.data[i].lat, longitude: res.data[i].lon },



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

1 个回答

  • 老张
    老张
    2021-07-03

    在for里构建一个markers数组,再统一setData

    2021-07-03
    有用
    回复
登录 后发表内容