feat: inputnumber add lazy
parent
278478b5b0
commit
f1f6085dbb
|
@ -24,6 +24,7 @@ export const inputNumberProps = () => ({
|
||||||
addonAfter: PropTypes.any,
|
addonAfter: PropTypes.any,
|
||||||
prefix: PropTypes.any,
|
prefix: PropTypes.any,
|
||||||
'update:value': baseProps.onChange,
|
'update:value': baseProps.onChange,
|
||||||
|
valueModifiers: Object,
|
||||||
});
|
});
|
||||||
|
|
||||||
export type InputNumberProps = Partial<ExtractPropTypes<ReturnType<typeof inputNumberProps>>>;
|
export type InputNumberProps = Partial<ExtractPropTypes<ReturnType<typeof inputNumberProps>>>;
|
||||||
|
@ -91,6 +92,7 @@ const InputNumber = defineComponent({
|
||||||
addonBefore = slots.addonBefore?.(),
|
addonBefore = slots.addonBefore?.(),
|
||||||
addonAfter = slots.addonAfter?.(),
|
addonAfter = slots.addonAfter?.(),
|
||||||
prefix = slots.prefix?.(),
|
prefix = slots.prefix?.(),
|
||||||
|
valueModifiers = {},
|
||||||
...others
|
...others
|
||||||
} = { ...(attrs as HTMLAttributes), ...props };
|
} = { ...(attrs as HTMLAttributes), ...props };
|
||||||
|
|
||||||
|
@ -112,6 +114,7 @@ const InputNumber = defineComponent({
|
||||||
<VcInputNumber
|
<VcInputNumber
|
||||||
{...omit(others, ['size', 'defaultValue'])}
|
{...omit(others, ['size', 'defaultValue'])}
|
||||||
ref={inputNumberRef}
|
ref={inputNumberRef}
|
||||||
|
lazy={!!valueModifiers.lazy}
|
||||||
value={mergedValue.value}
|
value={mergedValue.value}
|
||||||
class={inputNumberClass}
|
class={inputNumberClass}
|
||||||
prefixCls={preCls}
|
prefixCls={preCls}
|
||||||
|
|
|
@ -81,7 +81,10 @@ export const inputNumberProps = () => ({
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'InnerInputNumber',
|
name: 'InnerInputNumber',
|
||||||
inheritAttrs: false,
|
inheritAttrs: false,
|
||||||
props: inputNumberProps(),
|
props: {
|
||||||
|
...inputNumberProps(),
|
||||||
|
lazy: Boolean,
|
||||||
|
},
|
||||||
slots: ['upHandler', 'downHandler'],
|
slots: ['upHandler', 'downHandler'],
|
||||||
setup(props, { attrs, slots, emit, expose }) {
|
setup(props, { attrs, slots, emit, expose }) {
|
||||||
const inputRef = ref<HTMLInputElement>();
|
const inputRef = ref<HTMLInputElement>();
|
||||||
|
@ -509,7 +512,7 @@ export default defineComponent({
|
||||||
onInput,
|
onInput,
|
||||||
onPressEnter,
|
onPressEnter,
|
||||||
onStep,
|
onStep,
|
||||||
|
lazy,
|
||||||
class: className,
|
class: className,
|
||||||
style,
|
style,
|
||||||
|
|
||||||
|
@ -517,6 +520,12 @@ export default defineComponent({
|
||||||
} = { ...(attrs as HTMLAttributes), ...props };
|
} = { ...(attrs as HTMLAttributes), ...props };
|
||||||
const { upHandler, downHandler } = slots;
|
const { upHandler, downHandler } = slots;
|
||||||
const inputClassName = `${prefixCls}-input`;
|
const inputClassName = `${prefixCls}-input`;
|
||||||
|
const eventProps = {} as any;
|
||||||
|
if (lazy) {
|
||||||
|
eventProps.onChange = onInternalInput;
|
||||||
|
} else {
|
||||||
|
eventProps.onInput = onInternalInput;
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
class={classNames(prefixCls, className, {
|
class={classNames(prefixCls, className, {
|
||||||
|
@ -561,7 +570,7 @@ export default defineComponent({
|
||||||
focus.value = true;
|
focus.value = true;
|
||||||
emit('focus', e);
|
emit('focus', e);
|
||||||
}}
|
}}
|
||||||
onInput={onInternalInput}
|
{...eventProps}
|
||||||
onBlur={onBlur}
|
onBlur={onBlur}
|
||||||
onCompositionstart={onCompositionStart}
|
onCompositionstart={onCompositionStart}
|
||||||
onCompositionend={onCompositionEnd}
|
onCompositionend={onCompositionEnd}
|
||||||
|
|
Loading…
Reference in New Issue