UNPKG

vue-admin-core

Version:
45 lines (42 loc) 1.5 kB
import { ref, watch } from 'vue'; import { useField, useFieldSchema } from '@formily/vue'; import { isString, isArray } from 'lodash-es'; import { isField } from '@formily/core'; import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from 'element-plus'; const useArrToStr = (props, { emit }, ext) => { const fieldRef = useField(); const schema = useFieldSchema(); const modelValue = ref(); watch( () => props.modelValue, (value) => { var _a, _b; if (schema.value.type === "string" && (props.multiple || ((_a = props.props) == null ? void 0 : _a.multiple) || ext.always) && isString(value) && value) { modelValue.value = value.split(((_b = schema.value["x-data"]) == null ? void 0 : _b["separator"]) || ","); } else { modelValue.value = value; } }, { immediate: true, deep: true } ); return { modelValue, "onUpdate:modelValue": (value) => { var _a, _b; if (isField(fieldRef.value)) { if (schema.value.type === "string" && (props.multiple || ((_a = props.props) == null ? void 0 : _a.multiple) || ext.always) && isArray(value)) { modelValue.value = value.join(((_b = schema.value["x-data"]) == null ? void 0 : _b["separator"]) || ","); } else { modelValue.value = value; } emit(UPDATE_MODEL_EVENT, modelValue.value); emit(CHANGE_EVENT, modelValue.value); } } }; }; export { useArrToStr }; //# sourceMappingURL=useArrToStr.mjs.map