炭炭背单词免费
125.76MB · 2025-10-10
闲来无事,在 GitHub 上找了一个开源项目玩玩。结果一打开就看傻了眼:引入了一堆库,用到的功能却屈指可数。
于是我顺手做了“减肥手术”——把没用的库都砍了。砍着砍着问题就来了:有个库删掉之后,项目居然报错,提示需要 Element Plus 2.3.7 版本。升级之后倒是能跑了,但我发现里面连基础组件封装都没有。
按照我一贯的习惯,我就重新封装了 Dialog > Form
这一层级的表单组件,让弹窗表单写起来更轻量、更一致。
不过,意外出现了一个老熟人:resetFields
重置不生效。
在 el-dialog > el-form
中使用 resetFields()
理论上会把表单重置为“初始值”,即组件 model
初始化时的值。
const form = reactive({
name: '',
age: '',
})
const reset = () => {
ruleFormRef.value?.resetFields()
}
const openDialog = (row) => {
Object.assign(form, row)
visible.value = true
}
问题是
form = reactive({})
ruleFormRef.value?.resetFields()
在以上问题点出现后,使用ref声明model
,在新增时,将model重新赋值为空对象
const form = ref({
name: '',
age: '',
})
const reset = () => {
ruleFormRef.value?.resetFields()
}
const openDialog = (type, row) => {
form.value = row
if (type === 'add') form.value = {}
visible.value = true
}
dialogVisible.value = true
Object.assign(form, row || {
toolTypeName: "",
toolTypeId: 0
})
vivo 蓝河操作系统 3 将于 11 月开启手表端公测,首批支持 vivo / iQOO WATCH 5
微星推出 MAG X870E TOMAHAWK MAX WIFI PZ 背插主板,可超外频