element-plus 自定义组件触发表单校验

515 阅读1分钟

记录一下,vue3 setup element-plus 自定义组件在表单校验中的触发, 凑字数,凑字数

import { nextTick } from "vue"
import { useFormItem } from "element-plus"

//  触发el-form-item的校验事件 trigger
export function useTrigger() {
  const { formItem } = useFormItem() // form formItem
  const emitTrigger = (event: string | string[] = "blur") => {
    if (formItem) {
      nextTick(() => {
        if (Array.isArray(event)) {
          event.forEach(item => {
            formItem.validate(item)
          })
        } else {
          formItem.validate(event)
        }
      })
    }
  }
  return { formItem, emitTrigger }
}