vxe-table 4.2.4-beta.2 → 4.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/all.js +0 -2
- package/es/button/style.css +0 -5
- package/es/checkbox/src/checkbox.js +6 -0
- package/es/checkbox/src/group.js +7 -1
- package/es/edit/src/hook.js +35 -4
- package/es/form/src/form-config-item.js +152 -0
- package/es/form/src/form-gather.js +12 -3
- package/es/form/src/form-item.js +22 -3
- package/es/form/src/form.js +28 -119
- package/es/form/src/itemInfo.js +2 -0
- package/es/form/style.css +6 -6
- package/es/icon/style.css +10 -9
- package/es/input/src/input.js +50 -5
- package/es/input/style.css +5 -0
- package/es/radio/src/button.js +6 -0
- package/es/radio/src/group.js +8 -2
- package/es/radio/src/radio.js +6 -0
- package/es/select/src/select.js +7 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/switch/src/switch.js +7 -1
- package/es/table/src/table.js +3 -2
- package/es/textarea/src/textarea.js +7 -1
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/es/validator/src/hook.js +1 -1
- package/lib/all.js +15 -15
- package/lib/all.min.js +1 -1
- package/lib/button/style/style.css +0 -5
- package/lib/button/style/style.min.css +1 -1
- package/lib/checkbox/src/checkbox.js +7 -1
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +7 -1
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/edit/src/hook.js +35 -4
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/form/src/form-config-item.js +212 -0
- package/lib/form/src/form-config-item.min.js +1 -0
- package/lib/form/src/form-gather.js +14 -3
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +25 -2
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +30 -149
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/itemInfo.js +2 -0
- package/lib/form/src/itemInfo.min.js +1 -1
- package/lib/form/style/style.css +6 -6
- package/lib/form/style/style.min.css +1 -1
- package/lib/icon/style/style.css +10 -9
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +2072 -1839
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +54 -5
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/style/style.css +5 -0
- package/lib/input/style/style.min.css +1 -1
- package/lib/radio/src/button.js +7 -1
- package/lib/radio/src/button.min.js +1 -1
- package/lib/radio/src/group.js +8 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/radio/src/radio.js +7 -1
- package/lib/radio/src/radio.min.js +1 -1
- package/lib/select/src/select.js +7 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/switch/src/switch.js +8 -1
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/table/src/table.js +4 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/textarea/src/textarea.js +7 -1
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/validator/src/hook.js +1 -1
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +2 -2
- package/packages/all.ts +0 -2
- package/packages/checkbox/src/checkbox.ts +7 -1
- package/packages/checkbox/src/group.ts +8 -2
- package/packages/edit/src/hook.ts +35 -4
- package/packages/form/src/form-config-item.ts +156 -0
- package/packages/form/src/form-gather.ts +13 -3
- package/packages/form/src/form-item.ts +24 -3
- package/packages/form/src/form.ts +28 -126
- package/packages/form/src/itemInfo.ts +2 -0
- package/packages/input/src/input.ts +54 -6
- package/packages/radio/src/button.ts +7 -1
- package/packages/radio/src/group.ts +9 -3
- package/packages/radio/src/radio.ts +7 -1
- package/packages/select/src/select.ts +8 -2
- package/packages/switch/src/switch.ts +8 -2
- package/packages/table/src/table.ts +3 -2
- package/packages/textarea/src/textarea.ts +8 -2
- package/packages/validator/src/hook.ts +1 -1
- package/styles/button.scss +0 -5
- package/styles/form.scss +17 -19
- package/styles/icon.scss +10 -9
- package/styles/input.scss +4 -0
- package/styles/variable.scss +1 -0
- package/types/all.d.ts +0 -1
- package/types/edit.d.ts +38 -5
- package/types/form-item.d.ts +10 -0
- package/types/form.d.ts +14 -2
package/lib/tools/log.js
CHANGED
|
@@ -12,7 +12,7 @@ var _conf = _interopRequireDefault(require("../v-x-e-table/src/conf"));
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
14
|
function getLog(message, params) {
|
|
15
|
-
return "[vxe-table v" + "4.2.4-beta.
|
|
15
|
+
return "[vxe-table v" + "4.2.4-beta.3" + "] " + _conf.default.i18n(message, params);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
function outLog(type) {
|
package/lib/tools/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errLog=void 0,exports.getLog=getLog,exports.warnLog=void 0;var _conf=_interopRequireDefault(require("../v-x-e-table/src/conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getLog(e,r){return"[vxe-table v4.2.4-beta.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errLog=void 0,exports.getLog=getLog,exports.warnLog=void 0;var _conf=_interopRequireDefault(require("../v-x-e-table/src/conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getLog(e,r){return"[vxe-table v4.2.4-beta.3] "+_conf.default.i18n(e,r)}function outLog(o){return function(e,r){r=getLog(e,r);return console[o](r),r}}var warnLog=outLog("warn");exports.warnLog=warnLog;var errLog=outLog("error");exports.errLog=errLog;
|
package/lib/v-x-e-table/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,t:!0,_t:!0,config:!0,v:!0,VXETable:!0};exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("./src/conf")),_interceptor=require("./src/interceptor");Object.keys(_interceptor).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}}))});var _renderer=require("./src/renderer");Object.keys(_renderer).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}}))});var _commands=require("./src/commands");Object.keys(_commands).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}}))});var _menus=require("./src/menus");Object.keys(_menus).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}}))});var _formats=require("./src/formats");Object.keys(_formats).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}}))});var _hooks=require("./src/hooks");Object.keys(_hooks).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_hooks[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _hooks[e]}}))});var _setup=require("./src/setup");Object.keys(_setup).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_setup[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _setup[e]}}))});var _utils=require("../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var VXETableConfig=function(){function e(){}return Object.defineProperty(e.prototype,"zIndex",{get:function(){return(0,_utils.getLastZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextZIndex",{get:function(){return(0,_utils.nextZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"exportTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"importTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,2)},enumerable:!1,configurable:!0}),e}(),config=new VXETableConfig;exports.config=config;var v="v4",VXETable={v:exports.v=v,version:"4.2.4-beta.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={use:!0,t:!0,_t:!0,config:!0,v:!0,VXETable:!0};exports.VXETable=void 0,exports._t=_t,exports.default=exports.config=void 0,exports.t=t,exports.use=use,exports.v=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("./src/conf")),_interceptor=require("./src/interceptor");Object.keys(_interceptor).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_interceptor[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _interceptor[e]}}))});var _renderer=require("./src/renderer");Object.keys(_renderer).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_renderer[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _renderer[e]}}))});var _commands=require("./src/commands");Object.keys(_commands).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_commands[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _commands[e]}}))});var _menus=require("./src/menus");Object.keys(_menus).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_menus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _menus[e]}}))});var _formats=require("./src/formats");Object.keys(_formats).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_formats[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formats[e]}}))});var _hooks=require("./src/hooks");Object.keys(_hooks).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_hooks[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _hooks[e]}}))});var _setup=require("./src/setup");Object.keys(_setup).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_setup[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _setup[e]}}))});var _utils=require("../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getExportOrImpotType(e,r){var o=[];return _xeUtils.default.objectEach(e,function(e,t){0!==e&&e!==r||o.push(t)}),o}var installedPlugins=[];function use(e,t){return e&&e.install&&-1===installedPlugins.indexOf(e)&&(e.install(VXETable,t),installedPlugins.push(e)),VXETable}function t(e,t){return _conf.default.i18n(e,t)}function _t(e,t){return e?_xeUtils.default.toValueString(_conf.default.translate?_conf.default.translate(e,t):e):""}var VXETableConfig=function(){function e(){}return Object.defineProperty(e.prototype,"zIndex",{get:function(){return(0,_utils.getLastZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextZIndex",{get:function(){return(0,_utils.nextZIndex)()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"exportTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"importTypes",{get:function(){return getExportOrImpotType(_conf.default.export.types,2)},enumerable:!1,configurable:!0}),e}(),config=new VXETableConfig;exports.config=config;var v="v4",VXETable={v:exports.v=v,version:"4.2.4-beta.3",setup:_setup.setup,interceptor:_interceptor.interceptor,renderer:_renderer.renderer,commands:_commands.commands,formats:_formats.formats,menus:_menus.menus,hooks:_hooks.hooks,config:config,use:use,t:t,_t:_t},_default=exports.VXETable=VXETable;exports.default=_default;
|
|
@@ -399,7 +399,7 @@ var validatorHook = {
|
|
|
399
399
|
}
|
|
400
400
|
} else {
|
|
401
401
|
var isArrType = type === 'array';
|
|
402
|
-
var hasEmpty = isArrType ? !_xeUtils.default.isArray(cellValue_1) || !cellValue_1.length : (0, _utils.eqEmptyValue)(cellValue_1);
|
|
402
|
+
var hasEmpty = isArrType || _xeUtils.default.isArray(cellValue_1) ? !_xeUtils.default.isArray(cellValue_1) || !cellValue_1.length : (0, _utils.eqEmptyValue)(cellValue_1);
|
|
403
403
|
|
|
404
404
|
if (required ? hasEmpty || validErrorRuleValue(rule, cellValue_1) : !hasEmpty && validErrorRuleValue(rule, cellValue_1)) {
|
|
405
405
|
validRuleErr = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../tools/utils"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),tableValidatorMethodKeys=["fullValidate","validate","clearValidate"],validatorHook={setupTable:function(f){function r(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../tools/utils"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),tableValidatorMethodKeys=["fullValidate","validate","clearValidate"],validatorHook={setupTable:function(f){function r(e,o,l){var a={},n=v.editRules,s=v.treeConfig,c=m.afterFullData,t=x.value,d=_.value;!0===e?r=c:e&&(_xeUtils.default.isFunction(e)?o=e:r=_xeUtils.default.isArray(e)?e:[e]);var r=r||(f.getInsertRecords?f.getInsertRecords().concat(f.getUpdateRecords()):[]),i=[];if(m._lastCallTime=Date.now(),g=!1,w.clearValidate(),n){var u=f.getColumns(),e=function(r){var e;!l&&g||(e=[],u.forEach(function(t){!l&&g||!_xeUtils.default.has(n,t.property)||e.push(y.validCellRules("all",r,t).catch(function(e){e={rule:e.rule,rules:e.rules,rowIndex:f.getRowIndex(r),row:r,columnIndex:f.getColumnIndex(t),column:t,field:t.property,$table:f};if(a[t.property]||(a[t.property]=[]),a[t.property].push(e),!l)return g=!0,Promise.reject(e)}))}),i.push(Promise.all(e)))};return s?_xeUtils.default.eachTree(r,e,t):r.forEach(e),Promise.all(i).then(function(){var e=Object.keys(a);return(0,_vue.nextTick)().then(function(){return e.length?Promise.reject(a[e[0]][0]):void(o&&o())})}).catch(function(u){return new Promise(function(e,t){function r(){var t;u.cell=f.getCell(u.row,u.column),(0,_dom.scrollToView)(u.cell),t=u,new Promise(function(e){!1===_.value.autoPos?(f.dispatchEvent("valid-error",t,null),e()):f.handleActived(t,{type:"valid-error",trigger:"call"}).then(function(){setTimeout(function(){e(y.showValidTooltip(t))},10)})}).then(l)}var l=function(){(0,_vue.nextTick)(function(){o?(o(a),e()):("obsolete"===_conf.default.validToReject?t:e)(a)})},n=u.row,i=c.indexOf(n),n=0<i?c[i-1]:n;!1===d.autoPos?l():(s?f.scrollToTreeRow(n):f.scrollToRow(n)).then(r)})})}return(0,_vue.nextTick)().then(function(){o&&o()})}function p(e,t){var r=e.type,l=e.min,n=e.max,i=e.pattern,r=(e="number"===r)?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(l)&&r<_xeUtils.default.toNumber(l)||(!_xeUtils.default.eqNull(n)&&r>_xeUtils.default.toNumber(n)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(t))))}var g,v=f.props,d=f.reactData,m=f.internalData,h=f.getRefMaps().refValidTooltip,e=f.getComputeMaps(),_=e.computeValidOpts,x=e.computeTreeOpts,s=e.computeEditOpts,w={},y={},y={validCellRules:function(i,u,o,e){var a,s,t=v.editRules,r=o.property,c=[],d=[];return r&&t&&((a=_xeUtils.default.get(t,r))&&(s=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(u,r):e,a.forEach(function(t){var e,r=t.type,l=t.trigger,n=t.required;"all"!==i&&l&&i!==l||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({cellValue:s,rule:t,rules:a,row:u,rowIndex:f.getRowIndex(u),column:o,columnIndex:f.getColumnIndex(o),field:o.property,$table:f}))&&(_xeUtils.default.isError(e)?(g=!0,c.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)}))):e.catch&&d.push(e.catch(function(e){g=!0,c.push(new Rule({type:"custom",trigger:l,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))}))):(r="array"===r||_xeUtils.default.isArray(s)?!_xeUtils.default.isArray(s)||!s.length:(0,_utils.eqEmptyValue)(s),(n?r||p(t,s):!r&&p(t,s))&&(g=!0,c.push(new Rule(t)))))}))),Promise.all(d).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},hasCellRules:function(t,e,r){var l=v.editRules,r=r.property;if(r&&l){r=_xeUtils.default.get(l,r);return r&&!!_xeUtils.default.find(r,function(e){return"all"===t||!e.trigger||t===e.trigger})}return!1},triggerValidate:function(t){var e=v.editConfig,r=v.editRules,l=d.editStore,n=d.validStore,l=l.actived,i=s.value;if(e&&r&&l.row){var l=l.args,u=l.row,o=l.column,a=l.cell;if(y.hasCellRules(t,u,o))return y.validCellRules(t,u,o).then(function(){"row"===i.mode&&n.visible&&n.row===u&&n.column===o&&w.clearValidate()}).catch(function(e){e=e.rule;if(e.trigger&&t!==e.trigger)return Promise.resolve();e={rule:e,row:u,column:o,cell:a};return y.showValidTooltip(e),Promise.reject(e)})}return Promise.resolve()},showValidTooltip:function(e){var t=v.height,r=d.tableData,l=d.validStore,n=_.value,i=e.rule,u=e.row,o=e.column,a=e.cell,s=h.value,c=i.content;return(0,_vue.nextTick)().then(function(){if(Object.assign(l,{row:u,column:o,rule:i,content:c,visible:!0}),f.dispatchEvent("valid-error",e,null),s&&("tooltip"===n.message||"default"===n.message&&!t&&r.length<2))return s.open(a,c)})}};return __assign(__assign({},w={fullValidate:function(e,t){return r(e,t,!0)},validate:function(e,t){return r(e,t)},clearValidate:function(){var e=d.validStore,t=h.value;return Object.assign(e,{visible:!1,row:null,column:null,content:"",rule:null}),t&&t.reactData.visible&&t.close(),(0,_vue.nextTick)()}}),y)},setupGrid:function(e){return e.extendTableMethods(tableValidatorMethodKeys)}},_default=validatorHook;exports.default=_default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.2.4
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve": "vue-cli-service serve",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"gulp-sourcemaps": "^2.6.5",
|
|
59
59
|
"gulp-typescript": "^5.0.1",
|
|
60
60
|
"gulp-uglify": "^3.0.2",
|
|
61
|
-
"sass": "^1.
|
|
61
|
+
"sass": "^1.52.1",
|
|
62
62
|
"sass-loader": "^10.0.5",
|
|
63
63
|
"typescript": "~4.3.5",
|
|
64
64
|
"vue": "^3.2.31",
|
package/packages/all.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { Edit } from './edit'
|
|
|
9
9
|
import { Export } from './export'
|
|
10
10
|
import { Keyboard } from './keyboard'
|
|
11
11
|
import { Validator } from './validator'
|
|
12
|
-
import { Header } from './header'
|
|
13
12
|
import { Footer } from './footer'
|
|
14
13
|
|
|
15
14
|
import { Column } from './column'
|
|
@@ -44,7 +43,6 @@ import zhCN from './locale/lang/zh-CN'
|
|
|
44
43
|
// 按需加载的组件
|
|
45
44
|
const components = [
|
|
46
45
|
// 功能模块
|
|
47
|
-
Header,
|
|
48
46
|
Footer,
|
|
49
47
|
Icon,
|
|
50
48
|
Filter,
|
|
@@ -4,7 +4,7 @@ import { getFuncText } from '../../tools/utils'
|
|
|
4
4
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
5
5
|
import { useSize } from '../../hooks/size'
|
|
6
6
|
|
|
7
|
-
import { VxeCheckboxConstructor, VxeCheckboxGroupConstructor, VxeCheckboxEmits, VxeCheckboxGroupPrivateMethods, CheckboxMethods, VxeCheckboxPropTypes } from '../../../types/all'
|
|
7
|
+
import { VxeCheckboxConstructor, VxeCheckboxGroupConstructor, VxeCheckboxEmits, VxeCheckboxGroupPrivateMethods, CheckboxMethods, VxeCheckboxPropTypes, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines } from '../../../types/all'
|
|
8
8
|
|
|
9
9
|
export default defineComponent({
|
|
10
10
|
name: 'VxeCheckbox',
|
|
@@ -25,6 +25,8 @@ export default defineComponent({
|
|
|
25
25
|
] as VxeCheckboxEmits,
|
|
26
26
|
setup (props, context) {
|
|
27
27
|
const { slots, emit } = context
|
|
28
|
+
const $xeform = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeform', null)
|
|
29
|
+
const $xeformiteminfo = inject<VxeFormDefines.ProvideItemInfo | null>('$xeformiteminfo', null)
|
|
28
30
|
|
|
29
31
|
const xID = XEUtils.uniqueId()
|
|
30
32
|
|
|
@@ -60,6 +62,10 @@ export default defineComponent({
|
|
|
60
62
|
} else {
|
|
61
63
|
emit('update:modelValue', value)
|
|
62
64
|
checkboxMethods.dispatchEvent('change', params, evnt)
|
|
65
|
+
// 自动更新校验状态
|
|
66
|
+
if ($xeform && $xeformiteminfo) {
|
|
67
|
+
$xeform.triggerItemEvent(evnt, $xeformiteminfo.itemConfig.field, value)
|
|
68
|
+
}
|
|
63
69
|
}
|
|
64
70
|
}
|
|
65
71
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent, h, provide, PropType } from 'vue'
|
|
1
|
+
import { defineComponent, h, provide, PropType, inject } from 'vue'
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
4
|
import { useSize } from '../../hooks/size'
|
|
5
5
|
|
|
6
|
-
import { VxeCheckboxGroupConstructor, VxeCheckboxGroupEmits, VxeCheckboxGroupPrivateMethods, CheckboxGroupPrivateMethods, CheckboxGroupMethods, VxeCheckboxGroupPropTypes } from '../../../types/all'
|
|
6
|
+
import { VxeCheckboxGroupConstructor, VxeCheckboxGroupEmits, VxeCheckboxGroupPrivateMethods, CheckboxGroupPrivateMethods, CheckboxGroupMethods, VxeCheckboxGroupPropTypes, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines } from '../../../types/all'
|
|
7
7
|
|
|
8
8
|
export default defineComponent({
|
|
9
9
|
name: 'VxeCheckboxGroup',
|
|
@@ -18,6 +18,8 @@ export default defineComponent({
|
|
|
18
18
|
] as VxeCheckboxGroupEmits,
|
|
19
19
|
setup (props, context) {
|
|
20
20
|
const { slots, emit } = context
|
|
21
|
+
const $xeform = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeform', null)
|
|
22
|
+
const $xeformiteminfo = inject<VxeFormDefines.ProvideItemInfo | null>('$xeformiteminfo', null)
|
|
21
23
|
|
|
22
24
|
const xID = XEUtils.uniqueId()
|
|
23
25
|
|
|
@@ -49,6 +51,10 @@ export default defineComponent({
|
|
|
49
51
|
}
|
|
50
52
|
emit('update:modelValue', checklist)
|
|
51
53
|
$xecheckboxgroup.dispatchEvent('change', Object.assign({ checklist }, params), evnt)
|
|
54
|
+
// 自动更新校验状态
|
|
55
|
+
if ($xeform && $xeformiteminfo) {
|
|
56
|
+
$xeform.triggerItemEvent(evnt, $xeformiteminfo.itemConfig.field, checklist)
|
|
57
|
+
}
|
|
52
58
|
}
|
|
53
59
|
}
|
|
54
60
|
|
|
@@ -440,6 +440,9 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
440
440
|
return []
|
|
441
441
|
},
|
|
442
442
|
getActiveRecord () {
|
|
443
|
+
return this.getEditRecord()
|
|
444
|
+
},
|
|
445
|
+
getEditRecord () {
|
|
443
446
|
const { editStore } = reactData
|
|
444
447
|
const { afterFullData } = internalData
|
|
445
448
|
const el = refElem.value
|
|
@@ -460,10 +463,17 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
460
463
|
}
|
|
461
464
|
return null
|
|
462
465
|
},
|
|
466
|
+
clearActived (evnt) {
|
|
467
|
+
// if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
468
|
+
// warnLog('vxe.error.delFunc', ['clearActived', 'clearEdit'])
|
|
469
|
+
// }
|
|
470
|
+
// 即将废弃
|
|
471
|
+
return this.clearEdit(evnt)
|
|
472
|
+
},
|
|
463
473
|
/**
|
|
464
474
|
* 清除激活的编辑
|
|
465
475
|
*/
|
|
466
|
-
|
|
476
|
+
clearEdit (evnt) {
|
|
467
477
|
const { editStore } = reactData
|
|
468
478
|
const { actived } = editStore
|
|
469
479
|
const { row, column } = actived
|
|
@@ -495,25 +505,46 @@ const editHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
495
505
|
removeCellSelectedClass()
|
|
496
506
|
return nextTick()
|
|
497
507
|
},
|
|
508
|
+
isActiveByRow (row) {
|
|
509
|
+
// if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
510
|
+
// warnLog('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow'])
|
|
511
|
+
// }
|
|
512
|
+
// 即将废弃
|
|
513
|
+
return this.isEditByRow(row)
|
|
514
|
+
},
|
|
498
515
|
/**
|
|
499
516
|
* 判断行是否为激活编辑状态
|
|
500
517
|
* @param {Row} row 行对象
|
|
501
518
|
*/
|
|
502
|
-
|
|
519
|
+
isEditByRow (row) {
|
|
503
520
|
const { editStore } = reactData
|
|
504
521
|
return editStore.actived.row === row
|
|
505
522
|
},
|
|
523
|
+
setActiveRow (row) {
|
|
524
|
+
// if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
525
|
+
// warnLog('vxe.error.delFunc', ['setActiveRow', 'setEditRow'])
|
|
526
|
+
// }
|
|
527
|
+
// 即将废弃
|
|
528
|
+
return editMethods.setEditRow(row)
|
|
529
|
+
},
|
|
506
530
|
/**
|
|
507
531
|
* 激活行编辑
|
|
508
532
|
*/
|
|
509
|
-
|
|
533
|
+
setEditRow (row) {
|
|
510
534
|
const { visibleColumn } = internalData
|
|
511
535
|
return $xetable.setActiveCell(row, XEUtils.find(visibleColumn, column => isEnableConf(column.editRender)))
|
|
512
536
|
},
|
|
537
|
+
setActiveCell (row, fieldOrColumn) {
|
|
538
|
+
// if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
|
|
539
|
+
// warnLog('vxe.error.delFunc', ['setActiveCell', 'setEditCell'])
|
|
540
|
+
// }
|
|
541
|
+
// 即将废弃
|
|
542
|
+
return editMethods.setEditCell(row, fieldOrColumn)
|
|
543
|
+
},
|
|
513
544
|
/**
|
|
514
545
|
* 激活单元格编辑
|
|
515
546
|
*/
|
|
516
|
-
|
|
547
|
+
setEditCell (row, fieldOrColumn) {
|
|
517
548
|
const { editConfig } = props
|
|
518
549
|
const column = XEUtils.isString(fieldOrColumn) ? $xetable.getColumnByField(fieldOrColumn) : fieldOrColumn
|
|
519
550
|
if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { defineComponent, h, inject, provide, PropType, createCommentVNode } from 'vue'
|
|
2
|
+
import XEUtils from 'xe-utils'
|
|
3
|
+
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
4
|
+
import { VXETable } from '../../v-x-e-table'
|
|
5
|
+
import { getFuncText, isEnableConf } from '../../tools/utils'
|
|
6
|
+
import { renderTitle } from './render'
|
|
7
|
+
|
|
8
|
+
import { VxeFormConstructor, VxeFormDefines, VxeFormPrivateMethods } from '../../../types/all'
|
|
9
|
+
|
|
10
|
+
const VxeFormConfigItem = defineComponent({
|
|
11
|
+
name: 'VxeFormConfigItem',
|
|
12
|
+
props: {
|
|
13
|
+
itemConfig2: Object,
|
|
14
|
+
itemConfig: Object as PropType<VxeFormDefines.ItemInfo>
|
|
15
|
+
},
|
|
16
|
+
setup (props) {
|
|
17
|
+
const $xeform = inject('$xeform', {} as VxeFormConstructor & VxeFormPrivateMethods)
|
|
18
|
+
const xeformiteminfo = { itemConfig: props.itemConfig }
|
|
19
|
+
|
|
20
|
+
provide('$xeformiteminfo', xeformiteminfo)
|
|
21
|
+
provide('$xeformgather', null)
|
|
22
|
+
|
|
23
|
+
const renderVN = () => {
|
|
24
|
+
const { reactData } = $xeform
|
|
25
|
+
const { data, rules, span: allSpan, align: allAlign, titleAlign: allTitleAlign, titleWidth: allTitleWidth, titleColon: allTitleColon, titleAsterisk: allTitleAsterisk, titleOverflow: allTitleOverflow } = $xeform.props
|
|
26
|
+
const { computeValidOpts } = $xeform.getComputeMaps()
|
|
27
|
+
const item = props.itemConfig as VxeFormDefines.ItemInfo
|
|
28
|
+
const { collapseAll } = reactData
|
|
29
|
+
const validOpts = computeValidOpts.value
|
|
30
|
+
const { slots, title, visible, folding, visibleMethod, field, collapseNode, itemRender, showError, errRule, className, titleOverflow, children } = item
|
|
31
|
+
const compConf = isEnableConf(itemRender) ? VXETable.renderer.get(itemRender.name) : null
|
|
32
|
+
const defaultSlot = slots ? slots.default : null
|
|
33
|
+
const titleSlot = slots ? slots.title : null
|
|
34
|
+
const span = item.span || allSpan
|
|
35
|
+
const align = item.align || allAlign
|
|
36
|
+
const titleAlign = item.titleAlign || allTitleAlign
|
|
37
|
+
const titleWidth = item.titleWidth || allTitleWidth
|
|
38
|
+
const titleColon = item.titleColon === null ? allTitleColon : item.titleColon
|
|
39
|
+
const titleAsterisk = item.titleAsterisk === null ? allTitleAsterisk : item.titleAsterisk
|
|
40
|
+
const itemOverflow = (XEUtils.isUndefined(titleOverflow) || XEUtils.isNull(titleOverflow)) ? allTitleOverflow : titleOverflow
|
|
41
|
+
const showEllipsis = itemOverflow === 'ellipsis'
|
|
42
|
+
const showTitle = itemOverflow === 'title'
|
|
43
|
+
const showTooltip = itemOverflow === true || itemOverflow === 'tooltip'
|
|
44
|
+
const hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
45
|
+
let itemVisibleMethod = visibleMethod
|
|
46
|
+
const params = { data, field, property: field, item, $form: $xeform }
|
|
47
|
+
if (visible === false) {
|
|
48
|
+
return createCommentVNode()
|
|
49
|
+
}
|
|
50
|
+
let isRequired = false
|
|
51
|
+
if (rules) {
|
|
52
|
+
const itemRules = rules[field]
|
|
53
|
+
if (itemRules) {
|
|
54
|
+
isRequired = itemRules.some((rule) => rule.required)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// 如果为项集合
|
|
58
|
+
const isGather = children && children.length > 0
|
|
59
|
+
if (isGather) {
|
|
60
|
+
const childVNs = children.map((childItem, index) => {
|
|
61
|
+
return h(VxeFormConfigItem, {
|
|
62
|
+
key: index,
|
|
63
|
+
itemConfig: childItem
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
return childVNs.length ? h('div', {
|
|
67
|
+
class: ['vxe-form--gather vxe-row', item.id, span ? `vxe-col--${span} is--span` : '', className ? (XEUtils.isFunction(className) ? className(params) : className) : '']
|
|
68
|
+
}, childVNs) : createCommentVNode()
|
|
69
|
+
}
|
|
70
|
+
if (!itemVisibleMethod && compConf && compConf.itemVisibleMethod) {
|
|
71
|
+
itemVisibleMethod = compConf.itemVisibleMethod
|
|
72
|
+
}
|
|
73
|
+
let contentVNs: any[] = []
|
|
74
|
+
if (defaultSlot) {
|
|
75
|
+
contentVNs = $xeform.callSlot(defaultSlot, params)
|
|
76
|
+
} else if (compConf && compConf.renderItemContent) {
|
|
77
|
+
contentVNs = compConf.renderItemContent(itemRender, params)
|
|
78
|
+
} else if (field) {
|
|
79
|
+
contentVNs = [`${XEUtils.get(data, field)}`]
|
|
80
|
+
}
|
|
81
|
+
if (collapseNode) {
|
|
82
|
+
contentVNs.push(
|
|
83
|
+
h('div', {
|
|
84
|
+
class: 'vxe-form--item-trigger-node',
|
|
85
|
+
onClick: $xeform.toggleCollapseEvent
|
|
86
|
+
}, [
|
|
87
|
+
h('span', {
|
|
88
|
+
class: 'vxe-form--item-trigger-text'
|
|
89
|
+
}, collapseAll ? GlobalConfig.i18n('vxe.form.unfolding') : GlobalConfig.i18n('vxe.form.folding')),
|
|
90
|
+
h('i', {
|
|
91
|
+
class: ['vxe-form--item-trigger-icon', collapseAll ? GlobalConfig.icon.FORM_FOLDING : GlobalConfig.icon.FORM_UNFOLDING]
|
|
92
|
+
})
|
|
93
|
+
])
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
if (errRule && validOpts.showMessage) {
|
|
97
|
+
contentVNs.push(
|
|
98
|
+
h('div', {
|
|
99
|
+
class: 'vxe-form--item-valid',
|
|
100
|
+
style: errRule.maxWidth ? {
|
|
101
|
+
width: `${errRule.maxWidth}px`
|
|
102
|
+
} : null
|
|
103
|
+
}, errRule.content)
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
const ons = showTooltip ? {
|
|
107
|
+
onMouseenter (evnt: MouseEvent) {
|
|
108
|
+
$xeform.triggerTitleTipEvent(evnt, params)
|
|
109
|
+
},
|
|
110
|
+
onMouseleave: $xeform.handleTitleTipLeaveEvent
|
|
111
|
+
} : {}
|
|
112
|
+
return h('div', {
|
|
113
|
+
class: ['vxe-form--item', item.id, span ? `vxe-col--${span} is--span` : '', className ? (XEUtils.isFunction(className) ? className(params) : className) : '', {
|
|
114
|
+
'is--title': title,
|
|
115
|
+
'is--colon': titleColon,
|
|
116
|
+
'is--asterisk': titleAsterisk,
|
|
117
|
+
'is--required': isRequired,
|
|
118
|
+
'is--hidden': folding && collapseAll,
|
|
119
|
+
'is--active': !itemVisibleMethod || itemVisibleMethod(params),
|
|
120
|
+
'is--error': showError
|
|
121
|
+
}],
|
|
122
|
+
itemConfig: item,
|
|
123
|
+
key: item.id
|
|
124
|
+
}, [
|
|
125
|
+
h('div', {
|
|
126
|
+
class: 'vxe-form--item-inner'
|
|
127
|
+
}, [
|
|
128
|
+
title || titleSlot ? h('div', {
|
|
129
|
+
class: ['vxe-form--item-title', titleAlign ? `align--${titleAlign}` : null, {
|
|
130
|
+
'is--ellipsis': hasEllipsis
|
|
131
|
+
}],
|
|
132
|
+
style: titleWidth ? {
|
|
133
|
+
width: isNaN(titleWidth as number) ? titleWidth : `${titleWidth}px`
|
|
134
|
+
} : null,
|
|
135
|
+
title: showTitle ? getFuncText(title) : null,
|
|
136
|
+
...ons
|
|
137
|
+
}, renderTitle($xeform, item)) : null,
|
|
138
|
+
h('div', {
|
|
139
|
+
class: ['vxe-form--item-content', align ? `align--${align}` : null]
|
|
140
|
+
}, contentVNs)
|
|
141
|
+
])
|
|
142
|
+
])
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const $xeformconfigitem = {
|
|
146
|
+
renderVN
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return $xeformconfigitem
|
|
150
|
+
},
|
|
151
|
+
render () {
|
|
152
|
+
return this.renderVN()
|
|
153
|
+
}
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
export default VxeFormConfigItem
|
|
@@ -11,13 +11,16 @@ export default defineComponent({
|
|
|
11
11
|
setup (props, { slots }) {
|
|
12
12
|
const refElem = ref() as Ref<HTMLDivElement>
|
|
13
13
|
const $xeform = inject('$xeform', {} as VxeFormConstructor & VxeFormPrivateMethods)
|
|
14
|
-
const formGather = inject('xeformgather', null as XEFormItemProvide | null)
|
|
14
|
+
const formGather = inject('$xeformgather', null as XEFormItemProvide | null)
|
|
15
15
|
const defaultSlot = slots.default
|
|
16
16
|
const formItem = reactive(createItem($xeform, props))
|
|
17
17
|
const xeformitem: XEFormItemProvide = { formItem }
|
|
18
|
+
const xeformiteminfo = { itemConfig: formItem }
|
|
18
19
|
formItem.children = []
|
|
19
20
|
|
|
20
|
-
provide('
|
|
21
|
+
provide('$xeformiteminfo', xeformiteminfo)
|
|
22
|
+
provide('$xeformgather', xeformitem)
|
|
23
|
+
provide('$xeformitem', null)
|
|
21
24
|
|
|
22
25
|
watchItem(props, formItem)
|
|
23
26
|
|
|
@@ -43,6 +46,13 @@ export default defineComponent({
|
|
|
43
46
|
}, defaultSlot ? defaultSlot() : [])
|
|
44
47
|
}
|
|
45
48
|
|
|
46
|
-
|
|
49
|
+
const $xeformgather = {
|
|
50
|
+
renderVN
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return $xeformgather
|
|
54
|
+
},
|
|
55
|
+
render () {
|
|
56
|
+
return this.renderVN()
|
|
47
57
|
}
|
|
48
58
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, h, onUnmounted, inject, ref, Ref, onMounted, PropType } from 'vue'
|
|
1
|
+
import { defineComponent, h, onUnmounted, inject, ref, Ref, provide, onMounted, PropType } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import GlobalConfig from '../../v-x-e-table/src/conf'
|
|
4
4
|
import { VXETable } from '../../v-x-e-table'
|
|
@@ -15,6 +15,14 @@ export const formItemProps = {
|
|
|
15
15
|
align: String as PropType<VxeFormItemPropTypes.Align>,
|
|
16
16
|
titleAlign: String as PropType<VxeFormItemPropTypes.TitleAlign>,
|
|
17
17
|
titleWidth: [String, Number] as PropType<VxeFormItemPropTypes.TitleWidth>,
|
|
18
|
+
titleColon: {
|
|
19
|
+
type: Boolean as PropType<VxeFormItemPropTypes.TitleColon>,
|
|
20
|
+
default: null
|
|
21
|
+
},
|
|
22
|
+
titleAsterisk: {
|
|
23
|
+
type: Boolean as PropType<VxeFormItemPropTypes.TitleAsterisk>,
|
|
24
|
+
default: null
|
|
25
|
+
},
|
|
18
26
|
className: [String, Function] as PropType<VxeFormItemPropTypes.ClassName>,
|
|
19
27
|
titleOverflow: { type: [Boolean, String] as PropType<VxeFormItemPropTypes.TitleOverflow>, default: null },
|
|
20
28
|
titlePrefix: Object as PropType<VxeFormItemPropTypes.TitlePrefix>,
|
|
@@ -33,10 +41,16 @@ export default defineComponent({
|
|
|
33
41
|
setup (props, { slots }) {
|
|
34
42
|
const refElem = ref() as Ref<HTMLDivElement>
|
|
35
43
|
const $xeform = inject('$xeform', {} as VxeFormConstructor & VxeFormPrivateMethods)
|
|
36
|
-
const formGather = inject('xeformgather', null as XEFormItemProvide | null)
|
|
44
|
+
const formGather = inject('$xeformgather', null as XEFormItemProvide | null)
|
|
37
45
|
const formItem = createItem($xeform, props)
|
|
46
|
+
const xeformitem: XEFormItemProvide = { formItem }
|
|
47
|
+
const xeformiteminfo = { itemConfig: formItem }
|
|
38
48
|
formItem.slots = slots
|
|
39
49
|
|
|
50
|
+
provide('$xeformiteminfo', xeformiteminfo)
|
|
51
|
+
provide('$xeformitem', xeformitem)
|
|
52
|
+
provide('$xeformgather', null)
|
|
53
|
+
|
|
40
54
|
watchItem(props, formItem)
|
|
41
55
|
|
|
42
56
|
onMounted(() => {
|
|
@@ -154,6 +168,13 @@ export default defineComponent({
|
|
|
154
168
|
})
|
|
155
169
|
}
|
|
156
170
|
|
|
157
|
-
|
|
171
|
+
const $xeformitem = {
|
|
172
|
+
renderVN
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return $xeformitem
|
|
176
|
+
},
|
|
177
|
+
render () {
|
|
178
|
+
return this.renderVN()
|
|
158
179
|
}
|
|
159
180
|
})
|