vue3+elementplus后台管理搜索用户列表问题

问题:

  1. postman输入参数无法查询到用户列表,页面点击搜索时用户列表无法查询

解决步骤:

  1. 查看接口文档是如何传参的
    在这里插入图片描述

  2. 在postman中修改参数,接口中查不到是因为少了queryInfo或otherWhere的层级,加上就可以查到了
    在这里插入图片描述

  3. 在封装的post请求中,打印config参数,发现获取的data数据少了一层queryInfo
    在这里插入图片描述
    在这里插入图片描述

  4. 然后在post请求中,把data里面的queryInfo加一层嵌套,与接口文档对应

/*旧*/
export function getPageListData(url: string, queryInfo: any) {
  return ttRequest.post<IDataType>({
    url: url,
    data: queryInfo
  })
}
/*新*/
export function getPageListData(url: string, queryInfo: any) {
  return ttRequest.post<IDataType>({
    url: url,
    data: {
      queryInfo: queryInfo
    }
  })
}
  1. 在页面中输入用户名,其他为空,再点击搜索,打印queryinfo可以输出所有的字段包括空的字段
    const getPageData = (queryInfo: any = {}) => {
      console.log(queryInfo) //打印点击搜索时queryInfo的所有字段
      if (queryInfo) {
        for (const key in queryInfo) {
          let element = queryInfo[key]
          // 去除所有搜索条件的前后空格
          if (typeof queryInfo[key] == 'string') {
            queryInfo[key] = queryInfo[key].trim()
          }
          //去除无效字段
          if (element === '') {
            delete queryInfo[key]
          }
        }
      }
      store.dispatch('system/getPageListAction', {
        pageName: props.pageName,
        queryInfo: {
          pageSize: pageInfo.value.pageSize,
          currentPage: pageInfo.value.currentPage,
          //这里如果没有写otherWhere后台也查询不到搜索的数据
          otherWhere: {
            ...queryInfo
          } 
        }
      })
    }
    getPageData()

在这里插入图片描述

  1. 每次输入内容发送搜索请求,可以在后台egg里定位,打印body的内容,获取到queryinfo的值,看看字段有没有嵌套或其他的错误

在这里插入图片描述
过滤掉空字段后的后台显示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值