业务需求

组件通过 component动态生成,基于v-bind绑定事件时事件不生效。

错误示范

在这里插入图片描述

VUE2的解决办法

因为是动态绑定所以不确定会在未来绑定多少事件,所以直接预定绑定n个事件,我预制了六个基本同一个组件也不会超过六个事件了如果在需要就在继续加即可。

例如需要绑定 @click 则将 schema.events.a0.name 赋值为 click 并将对应事件函数绑定给 schema.events.a0.fun

存在小问题: 可能 我只需要绑定一个click 其余的a1-a5都闲置了 会报错。
报错为:Invalid handler for event “方法名“: got undefined(点击查看处理方法

示例代码如下:

    <component 
      @[schema.events.a0.name]="schema.events.a0.fun"
      @[schema.events.a1.name]="schema.events.a1.fun"
      @[schema.events.a2.name]="schema.events.a2.fun"
      @[schema.events.a3.name]="schema.events.a3.fun"
      @[schema.events.a4.name]="schema.events.a4.fun"
      @[schema.events.a5.name]="schema.events.a5.fun"
      :is="item.component"
      :key="item.field + index"
      v-model="formModel[item.field]"
    />
Logo

前往低代码交流专区

更多推荐