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.WidgetSelectViewComponent=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_use=require("../../form-design/src/use");const WidgetSelectViewComponent=exports.WidgetSelectViewComponent=(0,_comp.defineVxeComponent)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(o){const u=_core.VxeUI.getComponent("vxe-form-item"),i=(0,_vue.inject)("$xeFormView",null),n=(0,_use.useWidgetName)(o)["computeKebabCaseName"],a=()=>{var e,t=o["renderParams"],t=t["widget"];i&&(e=i?i.getItemValue(t):null,i.updateWidgetStatus(t,e))};return()=>{var e=o["renderParams"];const{widget:t,isViewMode:r}=e;e=n.value;return(0,_vue.h)(u,{class:["vxe-form-design--widget-render-form-item","widget-"+e],field:t.field,title:t.title,itemRender:{}},{default(){return(0,_vue.h)("select",{class:"vxe-default-select",value:i?i.getItemValue(t):null,onChange:a},r&&(e=(e=(e=o.renderParams).widget).options.options)?e.map(e=>e.options?(0,_vue.h)("optgroup",{label:e.value},e.options.map(e=>(0,_vue.h)("option",{value:e.value},e.value))):(0,_vue.h)("option",{},e.value)):[]);var e}})}}});