UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

57 lines (56 loc) 2.02 kB
import { defineComponent, computed, createBlock, openBlock, unref, withCtx, createVNode } from "vue"; import { OSelect } from "../select/index.mjs"; import _sfc_main$1 from "./OCascaderPanel.vue.mjs"; import { cascaderProps } from "./types.mjs"; import { isUndefined, isString } from "../_utils/is.mjs"; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "OCascader", props: cascaderProps, emits: ["change", "update:modelValue"], setup(__props, { emit: __emit }) { const props = __props; const emits = __emit; const handleChange = (val) => { emits("change", val); emits("update:modelValue", val); }; const wrapClass = computed(() => { const classStr = "o-cascader"; if (isUndefined(props.optionWrapClass)) { return classStr; } else if (isString(props.optionWrapClass)) { return `${classStr} ${props.optionWrapClass}`; } else { return [classStr, ...props.optionWrapClass].join(" "); } }); return (_ctx, _cache) => { return openBlock(), createBlock(unref(OSelect), { "model-value": props.modelValue, round: props.round, variant: props.variant, placeholder: props.placeholder, triggre: props.trigger, "option-position": props.optionPosition, "option-width-mode": "auto", "unmount-on-hide": props.unmountOnHide, transition: props.transition, "option-wrap-class": wrapClass.value }, { default: withCtx(() => [ createVNode(_sfc_main$1, { options: props.options, "model-value": props.modelValue, "path-mode": props.pathMode, onChange: handleChange }, null, 8, ["options", "model-value", "path-mode"]) ]), _: 1 /* STABLE */ }, 8, ["model-value", "round", "variant", "placeholder", "triggre", "option-position", "unmount-on-hide", "transition", "option-wrap-class"]); }; } }); export { _sfc_main as default };