@vuux/video
Version:
Vue Nuxt 视频播放器
2 lines (1 loc) • 884 B
JavaScript
;const e=require("vue"),i=["checked","true-value","false-value"],d=e.defineComponent({__name:"switch",props:{modelValue:{type:[Number,String,Boolean]},trueValue:{type:[Number,String,Boolean],default:!0},falseValue:{type:[Number,String,Boolean],default:!0}},emits:["update:modelValue"],setup(t,{emit:s}){const l=t,o=s,u=e.useTemplateRef("inputEl"),a=e.computed(()=>l.modelValue===l.trueValue),r=()=>{e.nextTick(()=>{const n=u.value?.checked;o("update:modelValue",n)})};return(n,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["video-switch",{"is-checked":a.value}])},[e.createElementVNode("input",{ref_key:"inputEl",ref:u,class:"switch-input",type:"checkbox",checked:a.value,"true-value":t.trueValue,"false-value":t.falseValue,onChange:r},null,40,i),c[0]||(c[0]=e.createElementVNode("span",{class:"switch-action"},null,-1))],2))}});module.exports=d;