diff --git a/core/core-frontend/package.json b/core/core-frontend/package.json
index 24f9fd20d2..52c84a2245 100644
--- a/core/core-frontend/package.json
+++ b/core/core-frontend/package.json
@@ -52,6 +52,7 @@
"vue": "^3.3.4",
"vue-clipboard3": "^2.0.0",
"vue-codemirror": "^6.1.1",
+ "vue-draggable-next": "^2.2.1",
"vue-i18n": "^9.2.2",
"vue-router": "4.1.3",
"vue-types": "^5.0.2",
diff --git a/core/core-frontend/src/custom-component/de-tabs/Component.vue b/core/core-frontend/src/custom-component/de-tabs/Component.vue
index 86b453b4c8..581a8536e7 100644
--- a/core/core-frontend/src/custom-component/de-tabs/Component.vue
+++ b/core/core-frontend/src/custom-component/de-tabs/Component.vue
@@ -14,65 +14,67 @@
:border-color="noBorderColor"
:border-active-color="borderActiveColor"
>
-
-
- {{ tabItem.title }}
-
-
-
-
-
-
-
- 编辑标题
-
+
+
+
+ {{ tabItem.title }}
+
+
+
+
+
+
+
+ 编辑标题
+
-
- 删除
-
-
-
-
-
-
-
-
+
+ 删除
+
+
+
+
+
+
+
+
+
element.value.propValue || [{ name: '1', label: 'Tab 1', content: 'Content 1' }]
+)
+
const isEditMode = computed(() => editMode.value === 'edit' && isEdit.value && !mobileInPc.value)
+const onMove = evt => {
+ // do custom
+ return true
+}
+
const calcTabLength = () => {
setTimeout(() => {
if (element.value.propValue.length > 1) {