vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
59 lines (58 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _vue = require("vue");
var _log = require("../../tools/log");
var _util = require("./util");
var _formItem = require("./form-item");
var _default = (0, _vue.defineComponent)({
name: 'VxeFormGather',
props: _formItem.formItemProps,
setup: function (props, _a) {
var slots = _a.slots;
var refElem = (0, _vue.ref)();
var $xeform = (0, _vue.inject)('$xeform', {});
var formGather = (0, _vue.inject)('$xeformgather', null);
var defaultSlot = slots.default;
var formItem = (0, _vue.reactive)((0, _util.createItem)($xeform, props));
var xeformitem = {
formItem: formItem
};
var xeformiteminfo = {
itemConfig: formItem
};
formItem.children = [];
(0, _vue.provide)('$xeformiteminfo', xeformiteminfo);
(0, _vue.provide)('$xeformgather', xeformitem);
(0, _vue.provide)('$xeformitem', null);
(0, _util.watchItem)(props, formItem);
(0, _vue.onMounted)(function () {
(0, _util.assemItem)($xeform, refElem.value, formItem, formGather);
});
(0, _vue.onUnmounted)(function () {
(0, _util.destroyItem)($xeform, formItem);
});
if (process.env.NODE_ENV === 'development') {
(0, _vue.nextTick)(function () {
if ($xeform && $xeform.props.customLayout) {
(0, _log.errLog)('vxe.error.errConflicts', ['custom-layout', '<form-gather ...>']);
}
});
}
var renderVN = function () {
return (0, _vue.h)('div', {
ref: refElem
}, defaultSlot ? defaultSlot() : []);
};
var $xeformgather = {
renderVN: renderVN
};
return $xeformgather;
},
render: function () {
return this.renderVN();
}
});
exports.default = _default;