uv-ui
Version:
基于vue3的移动端组件库
2 lines (1 loc) • 1.55 kB
JavaScript
;const e=require("vue"),d=require("../popup/index.cjs");require("./action-sheet.vue_vue_type_style_index_0_lang.cjs");const i={class:"uv-action-sheet"},k=["onClick"],p={name:"UvActionSheet"},h=Object.assign(p,{props:{show:{type:Boolean,default:!1},modelValue:{type:String},list:{type:Array},keyName:{type:String,default:"name"},cancelText:{type:String}},emits:["update:show","update:modelValue","change","close"],setup(a,{emit:o}){const n=a,c=e.ref(!1);e.watch(()=>n.show,t=>{c.value=t}),e.watch(()=>c.value,t=>{o("update:show",t)});const r=t=>{t.disabled||(o("change",t),o("update:modelValue",t[n.keyName]),o("update:show",!1))},u=()=>{o("close"),o("update:show",!1)};return(t,s)=>(e.openBlock(),e.createBlock(e.unref(d),e.mergeProps({modelValue:c.value,"onUpdate:modelValue":s[0]||(s[0]=l=>c.value=l),padding:!1,"bg-color":"#f7f8fa",round:""},t.$attrs),{default:e.withCtx(()=>[e.createElementVNode("div",i,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.list,l=>(e.openBlock(),e.createElementBlock("div",{key:l[a.keyName],class:e.normalizeClass(["uv-action-sheet-item",l.disabled?"":"able-click"]),onClick:y=>r(l)},[e.createElementVNode("div",{style:e.normalizeStyle({color:l.disabled?"#c8c9cc":l.color?l.color:"#323233"})},e.toDisplayString(l[a.keyName]),5)],10,k))),128)),a.cancelText?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"uv-action-sheet-item cancle-item able-click"},e.toDisplayString(a.cancelText),1)):e.createCommentVNode("",!0)])]),_:1},16,["modelValue"]))}});module.exports=h;