yanzhen-design-vue
Version:
49 lines (48 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const lodashEs = require("lodash-es");
const utils = require("@yanzhen-libs/utils");
const utilsVue = require("@yanzhen-libs/utils-vue");
const cascader = require("../cascader.cjs");
function useCascaderConfig(props, emit) {
const attrs = vue.useAttrs();
const slots = vue.useSlots();
const config = vue.computed(() => {
const config2 = lodashEs.pick(props, ...Object.keys(cascader.AntCascader.props));
return utils.mergeWith(config2, {
expandTrigger: props.subMenuTrigger ?? props.expandTrigger,
removeIcon: slots.removeIcon ?? props.removeIcon,
clearIcon: slots.clearIcon ?? props.clearIcon,
expandIcon: slots.expandIcon ?? props.expandIcon,
suffixIcon: slots.suffixIcon ?? props.suffixIcon,
notFoundContent: slots.notFoundContent ?? props.notFoundContent,
ariaDisabled: props.disabled ?? props.loading,
disabled: props.disabled ?? props.loading
});
});
const proxyProps = utilsVue.useProxyProps(config, cascader.AntCascader.emits, {
emit,
exclude: [
"value",
"loadData",
"options",
// 'fieldNames',
"onUpdate:value",
"onChange",
"onDropdownVisibleChange"
],
filter: true
});
const propsRef = vue.computed(() => {
return vue.mergeProps(vue.unref(attrs), vue.unref(proxyProps));
});
return {
attrs,
slots,
config,
proxyProps,
propsRef
};
}
exports.useCascaderConfig = useCascaderConfig;