vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
34 lines (33 loc) • 900 B
JavaScript
import { Utils as g } from "@vuux/utils";
import { ref as o, computed as d } from "vue";
const x = (a, v, e, l) => {
const { startKey: f, endKey: h } = a, n = o(!1), c = o(null), y = () => {
a.disabled || a.readonly || (n.value = !0, c.value && c.value.init());
}, s = () => {
n.value = !1;
}, r = (t) => {
l("change", t), s();
}, b = () => {
e.value = void 0, r(e.value), l("clear");
}, k = d(() => {
const t = n.value, { readonly: i, disabled: u } = a;
return {
"app-date-picker": !0,
"is-readonly": i || !1,
"is-disabled": u || !1,
"is-focus": t
};
}), C = d(() => (e.value && e.value[f] || e.value && e.value[h]) && a.clear);
return g.useClickOutside(v, s), {
classNames: k,
checkClear: C,
visible: n,
onChange: r,
handleShow: y,
handleClear: b,
handleHide: s
};
};
export {
x as useRangePicker
};