表单组件事件
字段配置中的 change / click / focus / blur 接收事件对象,不是单个值。公共字段包含 value、column、dic、item,焦点与点击事件还包含原生 event;行编辑环境可能额外包含 row、index。
初始化和外部赋值也可能触发 change。提交数据应放在表单 submit 流程中,避免把每次字段变化都当成用户保存。
组件事件
在输入框输入、聚焦、失焦、点击或按回车,查看下方最近事件。enter 是 Form 字段包装层的回调;配置 column.enter 后,它优先于 option.enter 的整表提交。
独立 avue-input 使用 @change 等组件事件;不要同时把同一个函数绑定为 :change 和 @change,否则会执行两次。详见 基础组件使用约定。
组件对象
formRef.value.getPropRef(prop) 返回字段包装实例,内部输入组件在 .$refs.temp。这些引用需要字段已挂载;完全自定义插槽或隐藏字段不保证存在。
点击按钮获取 OTP 字段实例并调用该组件公开的 focus(0) 方法。脚本中模板 ref 需要通过 .value 访问,不能写 formRef.$refs。
具体实例方法应查对应组件,不要假定所有输入组件都有 focus、validate 等相同接口。
组件交互
control(value, form, label, column) 返回以目标字段 prop 为键的配置对象,例如 { remark: { display: false } }。3.5.0 起支持函数返回 Promise;control 本身仍应是函数,不是直接传入 Promise。
切换“显示/隐藏”,第二个字段随之变化;输入第二个字段时会通过异步 control 改变第一个字段的标题。每次返回需要更新的配置即可。
