js 拼接搜索条件 {a: 'xx', b: 'yyy', c: 'zzz'} 成 ?a=xx&b=yyy&c=zzz

拼接搜索条件 {a: 'xx', b: 'yyy', c: 'zzz'}?a=xx&b=yyy&c=zzz

  // 只保留有值的搜索条件,拼接成 ?a=xx&b=yyy&c=zzz (传入空对象会返回空字符串)
  searchObjToQueryString(searchObj) {
    // 默认约定搜索条件都是字符串
    let queryStr = ''
    Object.entries(searchObj).forEach((item, index) => {
      // 字段为空、所属范围是金东区,则不拼接到查询条件里
      if (item[1] === '') {
        // 仅是结束本轮循环,不是跳出整个循环
        return false
      } else if (item[0] == 'regional' && item[1] == '金东区') {
        // 仅是结束本轮循环,不是跳出整个循环
        return false
      }

      // 根据第一位是不是 "?" 来决定如何拼接
      if (queryStr[0] != '?') {
        queryStr = `?${item[0]}=${item[1]}`
      } else {
        queryStr = queryStr + `&${item[0]}=${item[1]}`
      }
    })
    // console.log(queryStr, 'searchObjToQueryString queryStr')
    return queryStr
  },

高级用法

  // 只保留有值的搜索条件,拼接成 ?a=xx&b=yyy&c=zzz (传入空对象会返回空字符串)
  searchObjToQueryString(searchObj) {
    // 默认约定搜索条件都是字符串
    let queryStr = ''
    Object.entries(searchObj).forEach((item, index) => {
      // 字段为空、所属范围是金东区,则不拼接到查询条件里
      if (item[1] === '') {
        // 仅是结束本轮循环,不是跳出整个循环
        return false
      } else if (item[0] == 'regional' && item[1] == '金东区') {
        // 仅是结束本轮循环,不是跳出整个循环
        return false
      }

      // 根据第一位是不是 "?" 来决定如何拼接
      if (queryStr[0] != '?') {
        queryStr = `?${item[0]}=${item[1]}`
      } else {
        queryStr = queryStr + `&${item[0]}=${item[1]}`
      }
    })
    // console.log(queryStr, 'searchObjToQueryString queryStr')
    return queryStr
  },

  // 按搜索条件搜索地块
  searchDikuai(searchObj) {
    // { region, searchValue, minValue, maxValue, industry }
    console.log(searchObj, 'searchObj')
    let that = this
    wx.request({
      url: urlList.searchDikuai + this.searchObjToQueryString(searchObj),
      method: "GET",
      // header: {
      //   'content-type': 'application/x-www-form-urlencoded'
      // },
      success(res) {
        console.log(res, 'searchDikuai res')
        if (res.data.msg == '请求成功') {
          let data = res.data.data
          // console.log(data, 'searchDikuai data')
          that.setData({
            listData: data
          })
        }
      },
      fail(err) {
        console.log(err, 'err')
      }
    })
  },
      
      
      // 调用搜索方法
      this.searchDikuai({
        regional: regional,
        searchValue: searchValue,
        minValue: minValue,
        maxValue: maxValue,
        industry: industry,
      })
posted @ 2021-01-22 22:59  suwanbin  阅读(523)  评论(0编辑  收藏  举报