Vue 笔记 · 个人理解

表单和 v-model 的几个实战习惯

先保证数据源清晰

表单状态我会集中放在一个对象或一组 ref 里,不散落在各个子组件自己偷偷改。父组件能一眼看出「当前表单长什么样」。

自定义组件的 v-model

封装输入框时,我固定约定:对外还是 modelValue + update:modelValue。名称不标新立异,协作和以后自己维护都省事。

const props = defineProps({ modelValue: String })
const emit = defineEmits(['update:modelValue'])

function onInput(e) {
  emit('update:modelValue', e.target.value)
}
数字输入框最容易把字符串和数字搞混。需要计算时,我会在提交前统一做一次转换,而不是在每个输入事件里又转又判。
表单v-model

← 返回 Vue 笔记目录