美文网首页
实现接口参数为空时不传参,刷新页面时参数重置问题

实现接口参数为空时不传参,刷新页面时参数重置问题

作者: 生于乱世 | 来源:发表于2021-06-29 13:59 被阅读0次
    image.png

    如图,我们在Vue项目里面调用接口,如果此时用户进行了筛选且刷新页面时,Vue项目该页面默认的参数会重置为初始状态。
    Vue页面默认值:

    data() {
        return {
          type: "",
          value: "",
          buildTitle: "",
          haveSelect: false,
          list: [],
          roleList: [],
          pageInfo: null,
          info: {
            keyword_name: "",
            type: "",
            keyword_phone: "",
            keyword_email: "",
            role_id: "",
            status: "",
            page: 1,
            per_page: 15,
          },
        };
      },
    

    1.我们可以用路由携带参数的方式跳转这个页面,for···in循环这个对象,将没有进行筛选的参数在路由携带参数中去除掉。

    for (let key in this.info) {
            if (!this.info[key]) {
              delete this.info[key];
            }
          }
     this.$router.push({ path: "/system/permission", query: this.info });
    

    2.进行路由监听,将要传的参数在原对象中去掉

    watch: {
        $route: {
          handler(val, oldVal) {
              Object.assign(this.info, val.query);
            }
            this.getList(); //监听路由重新调用接口
          },
          immediate: true,
          deep: true,
        },
      },
    //调接口时可for···in循环对象去掉不必要的搜索条件
    
    

    相关文章

      网友评论

          本文标题:实现接口参数为空时不传参,刷新页面时参数重置问题

          本文链接:https://www.haomeiwen.com/subject/ylahultx.html