tyh-ui2
Version:
The next generation ui component library of tyh-ui is based on vue3 Version, fully embrace vue3.
2 lines (1 loc) • 1.62 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("./index2.js"),m={class:"tyh-rate"},v=["onMouseover"],y=["onMouseover"],h={key:0,class:"show-text"},p=e.defineComponent({name:"TyhRate"}),k=e.defineComponent({...p,props:d.Props,emits:["update:modelValue","change"],setup(r,{emit:n}){const o=r,a=e.ref(o.modelValue);e.watch(()=>o.modelValue,t=>a.value=t);const u=()=>{n("update:modelValue",a.value),a.value!==o.modelValue&&n("change")},c=e.computed(()=>{if(!o.showText)return;let t="";return e.watch(()=>a.value,()=>{switch(a.value){case 1:t=o.sayText[0];break;case 2:t=o.sayText[1];break;case 3:t=o.sayText[2];break;case 4:t=o.sayText[3];break;case 5:t=o.sayText[4];break;default:t=""}},{immediate:!0}),t});return(t,s)=>(e.openBlock(),e.createElementBlock("div",m,[e.createElementVNode("div",{class:"tyh-rate-mouseout",onMouseout:s[0]||(s[0]=l=>a.value=t.modelValue)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,l=>e.createElementVNode("i",{key:l,class:"tyh-icon tyh-ui-favorite",onMouseover:i=>a.value=l},null,40,v)),64)),e.createElementVNode("span",{class:"solid",style:e.normalizeStyle(`width:${a.value*18}px;`)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,l=>e.createElementVNode("i",{key:l,class:"tyh-icon tyh-ui-favorite-filling",style:e.normalizeStyle({color:t.color}),onMouseover:i=>a.value=l,onClick:u},null,44,y)),64))],4)],32),t.showText?(e.openBlock(),e.createElementBlock("div",h,e.toDisplayString(e.unref(c)),1)):e.createCommentVNode("",!0)]))}});exports.default=k;