vxe-design
Version:
A PC-based visual designer based on Vxe UI, used for building zero-code and low-code platforms
1 lines • 1.2 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.WidgetVxeSelectViewComponent=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_use=require("../../form-design/src/use");let WidgetVxeSelectViewComponent=exports.WidgetVxeSelectViewComponent=(0,_comp.defineVxeComponent)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(l){let i=_core.VxeUI.getComponent("vxe-form-item"),u=_core.VxeUI.getComponent("vxe-select"),n=(0,_vue.inject)("$xeFormView",null),a=(0,_use.useWidgetName)(l).computeKebabCaseName,d=()=>{var e,t=l.renderParams,t=t.widget;n&&(e=n?n.getItemValue(t):null,n.updateWidgetStatus(t,e))};return()=>{var e=l.renderParams;let{widget:t,isViewMode:r}=e,o=t.options;e=a.value;return(0,_vue.h)(i,{class:["vxe-form-design--widget-render-form-item","widget-"+e],title:t.title,field:t.field,itemRender:{}},{default(){return(0,_vue.h)(u,{modelValue:n?n.getItemValue(t):null,placeholder:o.placeholder||(0,_core.getI18n)("vxe.base.pleaseSelect"),options:r?o.options:[],optionProps:{label:"value",value:"value"},onChange:d,"onUpdate:modelValue"(e){n&&n.setItemValue(t,e)}})}})}}});