vue-admin-core
Version:
A Component Library for Vue 3
31 lines (27 loc) • 861 B
JavaScript
;
var vue = require('vue');
var shared = require('@formily/shared');
var vue$1 = require('@formily/vue');
const transformComponent = (tag, transformRules, defaultProps) => {
return vue.defineComponent({
setup(props, { attrs, slots }) {
return () => {
let data = {
...attrs
};
if (transformRules) {
const listeners = transformRules;
shared.each(listeners, (event, extract) => {
data[`on${event[0].toUpperCase()}${event.slice(1)}`] = attrs[`on${extract[0].toUpperCase()}${extract.slice(1)}`];
});
}
if (defaultProps) {
data = shared.merge(defaultProps, attrs);
}
return vue$1.h(tag, data, slots);
};
}
});
};
exports.transformComponent = transformComponent;
//# sourceMappingURL=transform-component.js.map