diff --git a/packages/plugins/datasource/src/DataSourceField.vue b/packages/plugins/datasource/src/DataSourceField.vue
index 9763b4a..0b684c6 100644
--- a/packages/plugins/datasource/src/DataSourceField.vue
+++ b/packages/plugins/datasource/src/DataSourceField.vue
@@ -23,6 +23,7 @@
[]
}
},
emits: ['save', 'cancel'],
@@ -98,7 +102,9 @@ export default {
const handleCancel = () => {
emit('cancel')
}
-
+ const uniqueName = () => {
+ return props.modelValue.some((item) => item.name === state.field.name)
+ }
const saveField = () => {
form.value.validate((valid) => {
if (valid) {
@@ -116,6 +122,10 @@ export default {
return
}
+ if (uniqueName() && rule.field === 'name') {
+ callback(new Error('该字段已存在,请重新输入'))
+ return
+ }
callback()
}