@vuux/video
Version:
Vue Nuxt 视频播放器
37 lines (36 loc) • 1.22 kB
JavaScript
import { defineComponent as i, useTemplateRef as d, computed as m, createElementBlock as p, openBlock as f, normalizeClass as h, createElementVNode as o, nextTick as k } from "vue";
const v = ["checked", "true-value", "false-value"], y = /* @__PURE__ */ i({
__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(e, { emit: c }) {
const t = e, s = c, l = d("inputEl"), u = m(() => t.modelValue === t.trueValue), r = () => {
k(() => {
const a = l.value?.checked;
s("update:modelValue", a);
});
};
return (a, n) => (f(), p("div", {
class: h(["video-switch", { "is-checked": u.value }])
}, [
o("input", {
ref_key: "inputEl",
ref: l,
class: "switch-input",
type: "checkbox",
checked: u.value,
"true-value": e.trueValue,
"false-value": e.falseValue,
onChange: r
}, null, 40, v),
n[0] || (n[0] = o("span", { class: "switch-action" }, null, -1))
], 2));
}
});
export {
y as default
};