记ArcoDesign使用中的2个问题

2023-06-13 22:48:57 浏览数 (2)

1、关于axios的post请求时Content-Type为: "application/x-www-form-urlencoded",此时请求参数不是在requestBody中,试了好几种写法,结果请求参数都是在requestbody中不行,最后用qs.stringify()方法解决了问题

代码语言:javascript复制
import qs from "query-string";
export interface query {
  username: string,
  name: string,
  pageIndex: number,
  pageSize: number,
  department: number,
  mobile: string
}

export function userList(data: query) {
  return axios.post("/user/list", qs.stringify(data));
}

2、还有一个是在分页查询的时候,我定义了一个默认的查询参数query,并给其中的一些参数设置了默认值,然后分页查询页面有个重置按钮,点击会清空所有的查询条件,重置为初始值

代码语言:javascript复制
const query = reactive({
 username: "",
 name: "",
 pageIndex: 1,
 pageSize: 10,
 department: "",
 mobile: "",
 isRead: false
});

//重置调用方法
    function resetQuery() {
      query = {
        username: "",
        name: "",
        pageIndex: 1,
        pageSize: 10,
        department: "",
        mobile: "",
        isRead: false
      };
      getUserList();
}

但是这样写发现会抱错,并且即便我把const换成let,但是点击重置按钮,查询条件并没有被重置,最后的解决方法是把查询条件再包一层,赋值给data,在resetQuery方法中 data.query重置查询参数就可以实现

代码语言:javascript复制
    const query = reactive({
      data: {
        username: "",
        name: "",
        pageIndex: 1,
        pageSize: 10,
        department: "",
        mobile: "",
        isRead: false
      }
});

//重置调用方法
    function resetQuery() {
      query.data = {
        username: "",
        name: "",
        pageIndex: 1,
        pageSize: 10,
        department: "",
        mobile: "",
        isRead: false
      };
      //调用分页查询接口,刷新页面数据
      getUserList();
    }

0 人点赞