vxe-pc-ui
Version:
A vue based PC component library
1 lines • 2.83 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:{type:[String,Number],default:null},align:{type:String,default:null},verticalAlign:{type:String,default:null},titleBackground:{type:Boolean,default:null},titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},showContent:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const f=(0,_vue.ref)(),p=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGroup",null),_=(0,_vue.reactive)((0,_util.createItem)(p,e));_.slots=t;t={itemConfig:_};(0,_vue.provide)("xeFormItemInfo",t);t={formItem:_,renderVN:()=>{var e,t,l,n,r,u,o,i,a,d,s=!!p&&p.props.customLayout,m=_;return s?(s=p,m=m,d=s.props,e=s.xeGrid,{data:d,readonly:t,disabled:l}=d,{visible:n,field:r,itemRender:a,contentStyle:u,showContent:o}=m,i=(a=(0,_utils.isEnableConf)(a)?_ui.renderer.get(a.name):null)?a.formItemStyle||a.itemStyle:null,a=a?a.formItemContentStyle||a.itemContentStyle:null,!(d={data:d,disabled:l,readonly:t,field:r,property:r,item:m,$form:s,$grid:e})===n?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:f,key:m.id,class:(0,_render.getItemClass)(s,m),style:_xeUtils.default.isFunction(i)?i(d):i},[(0,_render.renderTitle)(s,m),!1===o?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(s,m),style:Object.assign({},_xeUtils.default.isFunction(a)?a(d):a,_xeUtils.default.isFunction(u)?u(d):u)},[(0,_render.renderItemContent)(s,m)])])):(0,_vue.h)("div",{ref:f})}};return(0,_util.watchItem)(e,_),(0,_vue.onMounted)(()=>{var e=f.value;(0,_util.assembleItem)(p,e,_,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(p,_)}),(0,_vue.provide)("$xeFormItem",t),(0,_vue.provide)("$xeFormGroup",null),t},render(){return this.renderVN()}});