vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 1.75 kB
JavaScript
;const e=require("vue"),g=require("./hook/useMapInput.cjs"),s=require("@vuux/icons"),h={class:"app-map-input"},C={class:"item-value"},x=["onUpdate:modelValue"],N=["onUpdate:modelValue"],M={class:"item-buts"},U=e.defineComponent({name:"MapInput",__name:"index",props:{modelValue:{default:()=>[]}},emits:["update:modelValue"],setup(u,{expose:c,emit:a}){const i=u,d=a,p=e.ref([]),{items:m,syncValue:o,addItem:k,deleteItem:f,canDelete:v,canAdd:B,getAll:y,getById:I,getByKey:V,getByIds:_,getByKeys:E}=g.useMapInput(i,p,d);return c({getAll:y,getById:I,getByKey:V,getByIds:_,getByKeys:E}),(q,l)=>(e.openBlock(),e.createElementBlock("div",h,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(n,r)=>(e.openBlock(),e.createElementBlock("li",{key:n.id,class:"map-lists",ref_for:!0,ref:"el => itemRefs.value[index] = el"},[e.createElementVNode("div",C,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t=>n.key=t,placeholder:"key",class:"is-input",onInput:l[0]||(l[0]=(...t)=>e.unref(o)&&e.unref(o)(...t))},null,40,x),[[e.vModelText,n.key]]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t=>n.value=t,placeholder:"value",class:"is-input",onInput:l[1]||(l[1]=(...t)=>e.unref(o)&&e.unref(o)(...t))},null,40,N),[[e.vModelText,n.value]])]),e.createElementVNode("div",M,[e.unref(v)()?(e.openBlock(),e.createBlock(e.unref(s.Icon),{key:0,name:"Icon1052679",onClick:t=>e.unref(f)(r),size:20,color:"var(--app-danger)"},null,8,["onClick"])):e.createCommentVNode("",!0),e.unref(B)(r)?(e.openBlock(),e.createBlock(e.unref(s.Icon),{key:1,name:"Icon2384854",onClick:e.unref(k),size:20,color:"var(--app-theme)"},null,8,["onClick"])):e.createCommentVNode("",!0)])]))),128))]))}});module.exports=U;