shu-c-view
Version:
rollup 打包vue@2.7组件库框架
40 lines (38 loc) • 1.12 kB
JavaScript
/**
* @desc 渲染组件自身-比如有些情况下只要渲染一个文字的节点但增加一个 span 标签又显得有些多余了,这样可以使用这个组件来渲染传入的内容自身
*/
import _isArray from 'lodash/isArray';
import _isEmpty from 'lodash/isEmpty';
import { devConsole } from '../helper/util.js';
const BaseRenderSelf = {
name: 'BaseRenderSelf',
props: {
self: {
type: [Number, String, Object]
}
},
render(h) {
return h(
{
render() {
return this.$scopedSlots.default();
}
},
{ scopedSlots: { default: () => this.self } },
[]
);
}
};
BaseRenderSelf.install = function(Vue, ElComponents) {
// 用于按需加载的时候独立使用
devConsole(`按需加载独立组件:${BaseRenderSelf.name}`);
if (_isArray(ElComponents) && !_isEmpty(ElComponents)) {
for (let i = 0; i < ElComponents.length; i++) {
if (ElComponents[i].name !== BaseRenderSelf.name) {
Vue.use(ElComponents[i]);
}
}
}
Vue.component(BaseRenderSelf.name, BaseRenderSelf);
};
export { BaseRenderSelf };