diff --git a/src/input-number/input-number.tsx b/src/input-number/input-number.tsx
index 827a5edeff..c9b325f20e 100644
--- a/src/input-number/input-number.tsx
+++ b/src/input-number/input-number.tsx
@@ -1,13 +1,11 @@
-import { computed, defineComponent, ref, watch } from 'vue';
+import { computed, defineComponent } from 'vue';
import { AddIcon, RemoveIcon, ChevronDownIcon, ChevronUpIcon } from 'tdesign-icons-vue-next';
import TButton from '../button';
import TInput from '../input';
import props from './props';
-import { TdInputNumberProps } from './type';
// hooks
import { usePrefixClass } from '../hooks/useConfig';
-import useInputNumberAction from './useInputNumberAction';
import useComponentComputed from './useComponentComputed';
export default defineComponent({
@@ -24,10 +22,18 @@ export default defineComponent({
setup(props) {
const COMPONENT_NAME = usePrefixClass('input-number');
- const { reduceEvents, addEvents, componentWrapClasses, inputEvents, inputAttrs, displayValue, isError } =
- useComponentComputed(COMPONENT_NAME, props);
+ const {
+ reduceEvents,
+ addEvents,
+ componentWrapClasses,
+ inputEvents,
+ inputAttrs,
+ displayValue,
+ addClasses,
+ reduceClasses,
+ handleInput,
+ } = useComponentComputed(COMPONENT_NAME, props);
- const { addClasses, reduceClasses, handleInput } = useInputNumberAction(COMPONENT_NAME, props, isError);
const decreaseIcon = computed(() =>
props.theme === 'column' ? : ,
);
diff --git a/src/input-number/useComponentComputed.ts b/src/input-number/useComponentComputed.ts
index 63fbf16921..f1d7e515d7 100644
--- a/src/input-number/useComponentComputed.ts
+++ b/src/input-number/useComponentComputed.ts
@@ -26,9 +26,20 @@ export default function useComponentComputed(COMPONENT_NAME: Ref, props:
const isError = ref(false);
const inputting = ref(false);
+ const filterValue = ref(null);
- const { digitsNum, innerValue, filterValue, handleAction, clearFilterValue, handleReduce, handleAdd, userInput } =
- useInputNumberAction(COMPONENT_NAME, props, isError);
+ const {
+ digitsNum,
+ innerValue,
+ handleAction,
+ clearFilterValue,
+ handleReduce,
+ handleAdd,
+ userInput,
+ addClasses,
+ reduceClasses,
+ handleInput,
+ } = useInputNumberAction(COMPONENT_NAME, props, isError, filterValue);
const inputNumberTools = useInputNumberTools(props, digitsNum, isError);
const keyboardEvents = useKeyboardEvents(props, innerValue);
@@ -126,6 +137,8 @@ export default function useComponentComputed(COMPONENT_NAME: Ref, props:
inputEvents,
inputAttrs,
displayValue,
- isError,
+ addClasses,
+ reduceClasses,
+ handleInput,
};
}
diff --git a/src/input-number/useInputNumberAction.ts b/src/input-number/useInputNumberAction.ts
index a61dbff81a..0901131c02 100644
--- a/src/input-number/useInputNumberAction.ts
+++ b/src/input-number/useInputNumberAction.ts
@@ -10,9 +10,9 @@ export default function useInputNumberAction(
COMPONENT_NAME: Ref,
props: TdInputNumberProps,
isError: Ref,
+ filterValue: Ref,
) {
const { STATUS } = useCommonClassName();
- const filterValue = ref(null);
const userInput = ref(null);
const { value, modelValue } = toRefs(props);
const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);