UNPKG

yanzhen-design-vue

Version:

51 lines (50 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const vue = require("vue"); const utilsVue = require("@yanzhen-libs/utils-vue"); const lodashEs = require("lodash-es"); const utils = require("@yanzhen-libs/utils"); const antDesignVue = require("ant-design-vue"); const textarea = require("./textarea.cjs"); function useTextarea(props, emit) { const _ref = vue.ref(null); const attrs = vue.useAttrs(); const slots = vue.useSlots(); const config = vue.computed(() => { return lodashEs.pick(props, ...Object.keys(textarea.AntTextArea.props)); }); const handleBlur = (e) => { const trimValue = lodashEs.isString(props.value) ? lodashEs.trim(props.value) : props.value; if (!utils.isEmptyValue(trimValue) && trimValue !== props.value) { emit("update:value", String(trimValue)); } emit("blur", e); }; const proxyProps = utilsVue.useProxyProps(config, textarea.AntTextArea.emits, { emit(event, ...args) { switch (event) { case "blur": return handleBlur(args[0]); } emit(event, ...args); }, exclude: [], filter: true }); return [ { _ref, proxyProps }, (props2) => { return vue.createVNode( antDesignVue.Textarea, vue.mergeProps(attrs, props2 ?? {}, { ref: _ref }), slots ); } ]; } exports.useTextarea = useTextarea;