UNPKG

yanzhen-design-vue

Version:

49 lines (48 loc) 1.56 kB
"use strict"; 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;