vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
26 lines (25 loc) • 663 B
JavaScript
import { computed as a } from "vue";
const k = (e, c) => {
const d = a(() => e.disabled ? e.disabled : e.loading ? e.loading : !1), l = a({
get() {
return e.modelValue;
},
set(u) {
d.value || (c("update:modelValue", u), c("change", u));
}
}), i = a(() => l.value === e.checkedValue), n = a(() => ({
"app-switch": !0,
"is-checked": l.value === e.checkedValue,
"is-disabled": e.disabled || e.loading
})), t = a(() => e.loading);
return {
classNames: n,
isLoading: t,
handleClick: () => {
d.value || (l.value = i.value ? e.uncheckedValue : e.checkedValue);
}
};
};
export {
k as useSwitch
};