diff --git a/open-isle-cli/src/components/Dropdown.vue b/open-isle-cli/src/components/Dropdown.vue
index ab87cd0b1..95cde8d00 100644
--- a/open-isle-cli/src/components/Dropdown.vue
+++ b/open-isle-cli/src/components/Dropdown.vue
@@ -2,11 +2,20 @@
@@ -101,13 +109,17 @@ export default {
const selectedLabels = computed(() => {
if (props.multiple) {
- return options.value.filter(o => (props.modelValue || []).includes(o.id)).map(o => o.name)
+ return options.value.filter(o => (props.modelValue || []).includes(o.id))
}
const match = options.value.find(o => o.id === props.modelValue)
- return match ? [match.name] : []
+ return match ? [match] : []
})
- return { open, toggle, select, search, filteredOptions, wrapper, selectedLabels }
+ const isSelected = (id) => {
+ return selectedLabels.value.some(label => label.id === id)
+ }
+
+ return { open, toggle, select, search, filteredOptions, wrapper, selectedLabels, isSelected }
}
}
@@ -117,6 +129,7 @@ export default {
position: relative;
width: 200px;
}
+
.dropdown-display {
border: 1px solid #ccc;
border-radius: 5px;
@@ -126,9 +139,11 @@ export default {
justify-content: space-between;
align-items: center;
}
+
.placeholder {
color: gray;
}
+
.dropdown-menu {
position: absolute;
top: 100%;
@@ -140,31 +155,39 @@ export default {
max-height: 200px;
overflow-y: auto;
}
+
.dropdown-search {
display: flex;
align-items: center;
padding: 5px;
border-bottom: 1px solid #eee;
}
+
.dropdown-search input {
flex: 1;
border: none;
outline: none;
margin-left: 5px;
}
+
.dropdown-option {
display: flex;
align-items: center;
- padding: 5px 10px;
+ padding: 10px 20px;
gap: 5px;
cursor: pointer;
}
+
+.dropdown-option.selected {
+ background-color: #f5f5f5;
+}
+
.dropdown-option:hover {
background-color: #f5f5f5;
}
+
.option-icon {
width: 16px;
height: 16px;
}
-
diff --git a/open-isle-cli/src/components/PostEditor.vue b/open-isle-cli/src/components/PostEditor.vue
index 863f82a3f..931992850 100644
--- a/open-isle-cli/src/components/PostEditor.vue
+++ b/open-isle-cli/src/components/PostEditor.vue
@@ -28,7 +28,7 @@ export default {
onMounted(() => {
vditorInstance.value = new Vditor(props.editorId, {
placeholder: '请输入正文...',
- height: 500,
+ height: 450,
theme: 'classic',
preview: {
theme: { current: 'light' },
diff --git a/open-isle-cli/src/views/NewPostPageView.vue b/open-isle-cli/src/views/NewPostPageView.vue
index 97979c4ff..787457e4f 100644
--- a/open-isle-cli/src/views/NewPostPageView.vue
+++ b/open-isle-cli/src/views/NewPostPageView.vue
@@ -6,10 +6,15 @@
- 发布
@@ -61,9 +66,16 @@ export default {
font-weight: bold;
}
-.post-submit {
+.post-draft {
margin-left: 20px;
- margin-top: 20px;
+ color: var(--primary-color);
+ padding: 10px 20px;
+ border-radius: 10px;
+ cursor: pointer;
+ text-decoration: underline;
+}
+
+.post-submit {
background-color: var(--primary-color);
color: #fff;
padding: 10px 20px;
@@ -76,12 +88,23 @@ export default {
background-color: var(--primary-color-hover);
}
-.post-options {
- margin-top: 20px;
+.post-options-left {
display: flex;
- flex-direction: column;
gap: 10px;
}
+.post-options-right {
+ display: flex;
+ gap: 10px;
+}
+
+.post-options {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-left: 20px;
+ margin-top: 20px;
+}
+