vue-admin-core
Version:
A Component Library for Vue 3
47 lines (43 loc) • 1.52 kB
JavaScript
;
var vue$1 = require('vue');
var vue = require('@formily/vue');
var lodashEs = require('lodash-es');
var core = require('@formily/core');
var elementPlus = require('element-plus');
const useArrToStr = (props, { emit }, ext) => {
const fieldRef = vue.useField();
const schema = vue.useFieldSchema();
const modelValue = vue$1.ref();
vue$1.watch(
() => props.modelValue,
(value) => {
var _a, _b;
if (schema.value.type === "string" && (props.multiple || ((_a = props.props) == null ? void 0 : _a.multiple) || ext.always) && lodashEs.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 (core.isField(fieldRef.value)) {
if (schema.value.type === "string" && (props.multiple || ((_a = props.props) == null ? void 0 : _a.multiple) || ext.always) && lodashEs.isArray(value)) {
modelValue.value = value.join(((_b = schema.value["x-data"]) == null ? void 0 : _b["separator"]) || ",");
} else {
modelValue.value = value;
}
emit(elementPlus.UPDATE_MODEL_EVENT, modelValue.value);
emit(elementPlus.CHANGE_EVENT, modelValue.value);
}
}
};
};
exports.useArrToStr = useArrToStr;
//# sourceMappingURL=useArrToStr.js.map