vue antd表格和modal一起使用时表格样式改变

实现的功能是点击编辑然后弹出modal框,结果点击编辑后表格里的样式忽然变了。按道理modal是不影响后面页面的样式。
这是原先的样式在这里插入图片描述
这是点击跳出modal后的样式
在这里插入图片描述
仔细看了控制台代码,
这是点击前的控制台截图
在这里插入图片描述
这是点击后控制台的截图
在这里插入图片描述
无缘无故多了个div!
最后发现,其实是我在table中写了v-if来控制弹出modal,才导致出现这个div,只要把这个语句放在table外面,就不会出现这个情况。
这是原先的代码
在这里插入图片描述

这是修改后的代码,把这个eidt组件代码移到table外

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可能是因为 resetFields 方法默认只会重置被绑定的表单域,而 modal 中的表单域没有被直接绑定到 Form 上,所以 resetFields 方法无法重置它们。 可以尝试在 modal 的关闭事件中手动调用 resetFields 方法,例如: ```html <template> <div> <a-button @click="showModal">打开 Modal</a-button> <a-modal v-model:visible="visible" @cancel="handleCancel" @ok="handleOk"> <a-form :form="form"> <a-form-item label="姓名" name="name"> <a-input v-model:value="form.name" /> </a-form-item> <a-form-item label="年龄" name="age"> <a-input-number v-model:value="form.age" /> </a-form-item> </a-form> </a-modal> </div> </template> <script> import { defineComponent } from 'vue'; import { Modal, Form, Input, InputNumber } from 'ant-design-vue'; export default defineComponent({ components: { 'a-modal': Modal, 'a-form': Form, 'a-input': Input, 'a-input-number': InputNumber, }, data() { return { visible: false, form: {}, }; }, methods: { showModal() { this.visible = true; }, handleCancel() { this.visible = false; }, handleOk() { this.$refs.form.validate((valid) => { if (valid) { // 提交表单 this.visible = false; } }); }, resetForm() { this.$refs.form.resetFields(); }, }, watch: { visible(visible) { if (!visible) { this.resetForm(); } }, }, }); </script> ``` 在上面的代码中,当 modal 关闭会调用 `resetForm` 方法手动重置表单域。另外,为了获取 Form 实例,还需要给 Form 组件添加一个 ref 属性,例如 `ref="form"`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值