驭风行PC站
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
1.3 KiB

import{b as z,i as v,h as g,u as b,c as _,E as w,_ as C,w as B}from"./BPRC2v3K.js";import{c as P,i as A}from"./Immh241S.js";import{f as d,k as L,h as c,L as N,l as I,o,c as u,i as f,u as n,z as m,w as T,ak as j,r as q,n as D}from"./Ca9y1zsW.js";const F=z({size:{type:[Number,String],values:P,default:"",validator:a=>v(a)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:A},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:g(String),default:"cover"}}),U={error:a=>a instanceof Event},V=d({name:"ElAvatar"}),$=d({...V,props:F,emits:U,setup(a,{emit:y}){const t=a,e=b("avatar"),i=L(!1),S=c(()=>{const{size:s,icon:l,shape:p}=t,r=[e.b()];return N(s)&&r.push(e.m(s)),l&&r.push(e.m("icon")),p&&r.push(e.m(p)),r}),h=c(()=>{const{size:s}=t;return v(s)?e.cssVarBlock({size:_(s)||""}):void 0}),E=c(()=>({objectFit:t.fit}));I(()=>t.src,()=>i.value=!1);function k(s){i.value=!0,y("error",s)}return(s,l)=>(o(),u("span",{class:D(n(S)),style:f(n(h))},[(s.src||s.srcSet)&&!i.value?(o(),u("img",{key:0,src:s.src,alt:s.alt,srcset:s.srcSet,style:f(n(E)),onError:k},null,44,["src","alt","srcset"])):s.icon?(o(),m(n(w),{key:1},{default:T(()=>[(o(),m(j(s.icon)))]),_:1})):q(s.$slots,"default",{key:2})],6))}});var G=C($,[["__file","avatar.vue"]]);const M=B(G);export{M as E};