vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
31 lines (30 loc) • 737 B
JavaScript
import { ref as i, computed as u, provide as r, watch as s } from "vue";
const m = (e, l) => {
const t = i(e.modelValue), c = u(() => ({
//激活颜色
"--step-active-color": e.activeColor,
"--step-ing-color": e.ingColor
})), n = () => {
t.value >= e.steps.length + 1 || (t.value++, l("update:modelValue", t.value));
}, a = () => {
t.value <= 1 || (t.value--, l("update:modelValue", t.value));
}, o = u(() => ({
icon: e.icon,
active: e.steps.slice(0, t.value - 1),
activeIcon: e.activeIcon,
steps: e.steps
}));
return r("stepContext", {
fields: o
}), s(
() => e.modelValue,
(v) => t.value = v
), {
styles: c,
next: n,
prev: a
};
};
export {
m as useStep
};