Skip to content

Latest commit

 

History

History
36 lines (36 loc) · 923 Bytes

emits.md

File metadata and controls

36 lines (36 loc) · 923 Bytes

emits

  1. 使用
    • emitssetupprops 他们同级,一眼就可以看清楚这个组件有哪些事件
    • context 中可以获得事件名称
    • html 模版中支持补全
    • 事件参数可以自定义约束
      emits: {
        "close-modal": (params: any) => {
          return params.type === "close";
        }
      },
      setup(props, context) {
        context.emit("close-modal", {
          type: "close",
        })
      }
  2. setup 语法糖中,使用 defineEmits 定义 emits
    • defineEmits 接收一个数组
    const emits = defineEmits(['change'])
    const onChange = () => {
      emits("change", {})
    }
  3. 类型定义
    interface IEvent {
      (e: "change", age: number): void;
    }
    const emits = defineEmits<IEvent>()
    const onChange = () => {
      emits("change", 1);
    }