vue-admin-core
Version:
A Component Library for Vue 3
62 lines (59 loc) • 1.65 kB
JavaScript
import '../../__builtins__/index.mjs';
import { useField, connect, mapProps, mapReadPretty } from '@formily/vue';
import { ElInputNumber } from 'element-plus';
import '../../preview-text/index.mjs';
import { defineComponent, h } from 'vue';
import { transformComponent } from '../../__builtins__/shared/transform-component.mjs';
import { stylePrefix } from '../../__builtins__/configs/index.mjs';
import { PreviewText } from '../../preview-text/src/index.mjs';
const RefElInputNumber = defineComponent({
name: "RefElInputNumber",
props: ElInputNumber.props,
setup(props, { attrs, slots }) {
const field = useField();
return () => h(
ElInputNumber,
{
...attrs,
...props,
ref: (inst) => {
field.value.inject({
getRef: () => inst
});
}
},
slots
);
}
});
const TransformElInputNumber = transformComponent(RefElInputNumber, {
change: "update:modelValue"
});
const InputNumber = connect(
TransformElInputNumber,
mapProps(
{
value: "modelValue",
readOnly: "readonly"
},
(props, field) => {
let controlsPosition = "right";
if (props.controlsPosition) {
controlsPosition = props.controlsPosition;
}
return {
controlsPosition,
modelValue: props.modelValue,
class: [`${stylePrefix}-input-number`, props.class],
ref: (inst) => {
field.inject({
getInstance: () => inst
});
}
};
}
),
mapReadPretty(PreviewText.Input)
);
export { InputNumber, InputNumber as default };
//# sourceMappingURL=index.mjs.map