uv-ui
Version:
基于vue3的移动端组件库
2 lines (1 loc) • 1.16 kB
JavaScript
;const e=require("vue"),i=require("./qrcode.cjs");require("./qr-code.vue_vue_type_style_index_0_lang.cjs");const a={class:"uv-qr-code"},f=["src"],v={name:"UvQrCode"},g=Object.assign(v,{props:{iconUrl:{type:String,default:""},iconSize:{type:Number,default:30},text:{type:String,default:""},codeSize:{type:Number,default:70},codeColor:{type:String,default:"#000000"},codeBgColor:{type:String,default:"#ffffff"},correctLevel:{type:String,default:"H"}},setup(t){const r=t,o=e.ref(null),n=()=>{o.value.innerHTML="";const{text:l,codeSize:c,codeColor:d,codeBgColor:u,correctLevel:s}=r;return new i(o.value,{text:l,width:c,height:c,colorDark:d,colorLight:u,correctLevel:i.CorrectLevel[s]})};return e.watch(r,()=>{n()}),e.onMounted(()=>{n()}),(l,c)=>(e.openBlock(),e.createElementBlock("div",a,[t.iconUrl?(e.openBlock(),e.createElementBlock("div",{key:0,class:"uv-qr-code-img-warp",style:e.normalizeStyle({width:t.iconSize+"px",height:t.iconSize+"px"})},[e.createElementVNode("img",{src:t.iconUrl,class:"uv-qr-code-img-logo"},null,8,f)],4)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"QrCodeRef",ref:o},null,512)]))}});module.exports=g;