盼儿哥
2019-08-06 14:19
采纳率: 50%
浏览 4.3k
已采纳

vue弹出的模态框中的表单还存在上次的数据怎么办?

图片说明
图片说明

我给一个按钮绑定单击事件,弹出个模态框,这模态框是组件形式的,里面是表单,
遇见问题就是:第二次打开时里面数据还是上次的 这你们怎么处理的?
比如添加按钮,每次添加,表单里数据都需要是空的
模态框里有提交 和关闭 按钮 这两个点击时我可以清空,但是就要写到两个地方啊 我想在一打开时就清空

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 盼儿哥 2019-08-07 15:25
    已采纳

    感谢 妖王令剑 的建议,不过我已经找到方法了,
    图片说明
    因为每次点击添加都是给modalVisible赋新的对象,所以在子组件中监听 modalVisible的变化就行了

    已采纳该答案
    评论
    解决 无用 1
    打赏 举报
  • 妖王令剑 2019-08-06 15:19

    在子组件内可以监听到 .target , 但是这样做很容易出错; 如果你的弹出模态框 没有 过渡效果,可以在子组件标签上加一个 v-if控制 , v-if是创建或删除代码,这样每一次显示模态框都是新创建的代码, 不会存在上次的数据; 如果你的弹出模态框 有 过渡效果,可以在子组件内部封装一个重置数据的方法,在父组件的子组件标签上加上 ref(<子组件 ref="alert"></子组件>) , 在每次弹出模态框前先执行一下 this.$refs.alert.子组件的重置方法( );

    评论
    解决 无用
    打赏 举报
  • xiaofei0627 2019-08-07 09:32

    简单呀,弹窗出现的时候清空不就好了

    评论
    解决 无用
    打赏 举报
  • lllomh 2019-08-07 12:43

    你好,你用的什么 ui 一半ui都有自带的 this.$refs[name].resetFields();
    希望采纳

    评论
    解决 无用
    打赏 举报
  • Ao_min 2021-11-18 09:18

    找到的是什么方法?我也有同样的问题,可以告知吗

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题