vue组件动态绑定不同的事件

92 阅读1分钟

介绍

同事问我,低代码中,如果绑定动态的事件,如何实现?来上才艺了。。。

场景

根据用户配置的事件动态绑定。也就是用户可以动态选择配置 click ,change,blur等事件。需要根据用户的配置的事件动态绑定 @click、@change或@bulr。

代码

<template>
  <div>
    <el-input v-for="(item,index) in list"
        :key="index"
        v-on:[item.event]="item.eventName"></el-input>
  </div>
</template>
<script>
export default {
    name: "eventPage",
    data() {
        return {
            list: [{ event: "change" ,eventName:"changeName"}]
            }
        },
    methods: {
        changeName(){
            console.log('change事件')
        }
    }
};
</script>

可以缩写成:

<el-input @[item.event]="item.eventName"></el-input>