lwx-test-ui
Version:
lwx-test-ui
2 lines (1 loc) • 1.55 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),_=require("../../../hooks/use-global-properties/index.js"),p=require("./select.js"),k=l.defineComponent({name:"LwxSelect",__name:"select",props:p.selectProps,emits:p.selectEmits,setup(i,{emit:m}){const e=i,c=m,a=_.useGlobalProperties(),u=l.inject(a.formItemContextKey,void 0),b=l.computed(()=>u?`请选择${u.label}`:e.placeholder),d=l.computed({get(){return e.modelValue},set(t){c("update:modelValue",t)}}),r=l.ref([]);l.onMounted(()=>{var t;r.value=e.options,e.queryInterface&&((t=a==null?void 0:a.$request)==null||t.get(e.queryInterface,e.params).then(o=>{r.value=o.data}))});function f(t){const o=r.value.find(s=>s[e.props.key]===t);c("change",t,o)}return(t,o)=>{const s=l.resolveComponent("el-option"),v=l.resolveComponent("el-select");return l.openBlock(),l.createBlock(v,l.mergeProps({modelValue:d.value,"onUpdate:modelValue":o[0]||(o[0]=n=>d.value=n),class:"lwx-select",disabled:e.disabled,clearable:e.clearable,filterable:e.filterable,multiple:e.multiple},t.$attrs,{placeholder:b.value,onChange:f}),{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(r.value,n=>(l.openBlock(),l.createBlock(s,{key:n[e.props.key],label:n[e.props.label],value:n[e.props.value],disabled:e!=null&&e.disabled?!!n[e.props.disabled]:!1},null,8,["label","value","disabled"]))),128))]),_:1},16,["modelValue","disabled","clearable","filterable","multiple","placeholder"])}}});exports.default=k;