vue2 重置表单失效

使用 this.$refs[‘form’].resetFields() 进行表单初始化时。有个致命的问题:this.$refs[‘form’].resetFields()这个做法其实是重置表单到初始值,不是清空表单,当表单第一次在页面中渲染时所用的数据就是初始数据

问题场景:vue中A页面跳转B页面,带有路由参数。B页面使用参数进行查询。当使用:this.$refs[‘form’].resetFields() 进行重置表单时,就会失效,始终重置不了。

watch: {
  // 根据名称筛选部门树
  orgName(val) {
    this.$refs.tree.filter(val);
  }
},
created() {
  if (this.$route.query.day != undefined) {
    this.dateRange[0] = this.$route.query.day
    this.dateRange[1] = this.$route.query.day
  }
  if (this.$route.query.orgId != undefined) {
    this.queryParams.orgId = this.$route.query.orgId
  }
  this.getList()
},
methods: {
    ......
    getList(){
        ....
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.dateRange = [];
      this.queryParams.orgId = ''
      // this.$refs[‘form’].resetFields()这个做法其实是重置表单到初始值,
      // 不是清空表单,当表单第一次在页面中渲染时所用的数据就是初始数据。
      // 页面跳转后传递的参数直接参与页面查询,所以表单初始值就是传递过来的参数。
      // 在使用 this.$refs[‘form’].resetFields() 重置时,就会把最初的参
      // 数重置回来。
      // this.$refs[‘queryParams’].resetFields()
      this.handleQuery();
    },
}

 解决办法

不使用 this.$refs[‘queryParams’].resetFields() 重置;手动赋值的形式,清空表单对象

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿竹痕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值