vxe-design
Version:
A PC-based visual designer based on Vxe UI, used for building zero-code and low-code platforms
1 lines • 1.23 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");const WidgetVxeSelectViewComponent=exports.WidgetVxeSelectViewComponent=(0,_comp.defineVxeComponent)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(i){const n=_core.VxeUI.getComponent("vxe-form-item"),u=_core.VxeUI.getComponent("vxe-select"),l=(0,_vue.inject)("$xeFormView",null),s=(0,_use.useWidgetName)(i)["computeKebabCaseName"],a=()=>{var e,t=i["renderParams"],t=t["widget"];l&&(e=l?l.getItemValue(t):null,l.updateWidgetStatus(t,e))};return()=>{var e=i["renderParams"];const{widget:t,isViewMode:r}=e,o=t["options"];e=s.value;return(0,_vue.h)(n,{class:["vxe-form-design--widget-render-form-item","widget-"+e],title:t.title,field:t.field,itemRender:{}},{default(){return(0,_vue.h)(u,{modelValue:l?l.getItemValue(t):null,placeholder:o.placeholder||(0,_core.getI18n)("vxe.base.pleaseSelect"),options:r?o.options:[],optionProps:{label:"value",value:"value"},onChange:a,"onUpdate:modelValue"(e){l&&l.setItemValue(t,e)}})}})}}});