diff --git a/packages/editor/src/fields/Code.vue b/packages/editor/src/fields/Code.vue
index 2760c1f7..aa6b5200 100644
--- a/packages/editor/src/fields/Code.vue
+++ b/packages/editor/src/fields/Code.vue
@@ -12,6 +12,8 @@
diff --git a/packages/form/src/fields/Link.vue b/packages/form/src/fields/Link.vue
index b939f633..2a0ff572 100644
--- a/packages/form/src/fields/Link.vue
+++ b/packages/form/src/fields/Link.vue
@@ -22,24 +22,14 @@ import { computed, inject, ref } from 'vue';
import { TMagicButton } from '@tmagic/design';
import FormDialog from '../FormDialog.vue';
-import { FormState, LinkConfig } from '../schema';
+import type { FieldProps, FormState, LinkConfig } from '../schema';
import { useAddField } from '../utils/useAddField';
defineOptions({
name: 'MFormLink',
});
-const props = defineProps<{
- config: LinkConfig;
- model: any;
- initValues?: any;
- values?: any;
- name: string;
- prop: string;
- disabled?: boolean;
- size?: 'large' | 'default' | 'small';
- lastValues?: Record;
-}>();
+const props = defineProps>();
const emit = defineEmits(['change']);
diff --git a/packages/form/src/fields/Number.vue b/packages/form/src/fields/Number.vue
index 48d11bf5..43cfcf05 100644
--- a/packages/form/src/fields/Number.vue
+++ b/packages/form/src/fields/Number.vue
@@ -20,26 +20,19 @@ import { inject } from 'vue';
import { TMagicInputNumber } from '@tmagic/design';
-import { FormState, NumberConfig } from '../schema';
+import type { FieldProps, FormState, NumberConfig } from '../schema';
import { useAddField } from '../utils/useAddField';
defineOptions({
name: 'MFormNumber',
});
-const props = defineProps<{
- config: NumberConfig;
- model: any;
- initValues?: any;
- values?: any;
- name: string;
- prop: string;
- disabled?: boolean;
- size?: 'large' | 'default' | 'small';
- lastValues?: Record;
-}>();
+const props = defineProps>();
-const emit = defineEmits(['change', 'input']);
+const emit = defineEmits<{
+ change: [values: number];
+ input: [values: number];
+}>();
useAddField(props.prop);
@@ -49,7 +42,7 @@ const changeHandler = (value: number) => {
emit('change', value);
};
-const inputHandler = (v: string) => {
+const inputHandler = (v: number) => {
emit('input', v);
mForm?.$emit('field-input', props.prop, v);
};
diff --git a/packages/form/src/fields/NumberRange.vue b/packages/form/src/fields/NumberRange.vue
index 32ae23e6..11f4b7b3 100644
--- a/packages/form/src/fields/NumberRange.vue
+++ b/packages/form/src/fields/NumberRange.vue
@@ -21,24 +21,14 @@