fix: 确保侧边栏所有面板始终挂载以防止表单字段丢失
continuous-integration/drone/push Build is passing

This commit is contained in:
seahi committed 2026-09-15 11:20:58 +08:00
1 parent dff0972400
commit 19f5f3e7c5
4 files changed
+40 -10

No files matched your search

+17 -3
View File
@@ -96,7 +96,8 @@
small={true} small={true}
/> />
{#if sidebarTab === 'settings'} <!-- 设置面板始终挂载(仅切换显隐),确保别名字段在提交时始终存在 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'settings'}>
<div class="sidebar-box"> <div class="sidebar-box">
<h3>别名 *</h3> <h3>别名 *</h3>
<TextInput <TextInput
@@ -109,12 +110,15 @@
variant="underline" variant="underline"
/> />
</div> </div>
{:else} </div>
<!-- 媒体面板始终挂载(仅切换显隐),确保切换 Tab 时附件状态不丢失 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'media'}>
<div class="sidebar-box"> <div class="sidebar-box">
<h3>当前页面附件</h3> <h3>当前页面附件</h3>
<ArticleAttachments bind:content bind:sessionUploads /> <ArticleAttachments bind:content bind:sessionUploads />
</div> </div>
{/if} </div>
</div> </div>
</div> </div>
</form> </form>
@@ -204,6 +208,16 @@
z-index: 10; z-index: 10;
} }
.sidebar-panel {
display: flex;
flex-direction: column;
gap: 30px;
}
.sidebar-panel.is-hidden {
display: none;
}
@media (max-width: 900px) { @media (max-width: 900px) {
.form-grid { .form-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
+17 -3
View File
@@ -112,7 +112,8 @@
small={true} small={true}
/> />
{#if sidebarTab === 'settings'} <!-- 设置面板始终挂载(仅切换显隐),确保别名字段在提交时始终存在 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'settings'}>
<div class="sidebar-box"> <div class="sidebar-box">
<h3 style="display: flex; justify-content: space-between; align-items: center;"> <h3 style="display: flex; justify-content: space-between; align-items: center;">
<span>别名 *</span> <span>别名 *</span>
@@ -136,12 +137,15 @@
variant="underline" variant="underline"
/> />
</div> </div>
{:else} </div>
<!-- 媒体面板始终挂载(仅切换显隐),确保切换 Tab 时附件状态不丢失 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'media'}>
<div class="sidebar-box"> <div class="sidebar-box">
<h3>当前页面附件</h3> <h3>当前页面附件</h3>
<ArticleAttachments bind:content bind:sessionUploads /> <ArticleAttachments bind:content bind:sessionUploads />
</div> </div>
{/if} </div>
</div> </div>
</div> </div>
</form> </form>
@@ -231,6 +235,16 @@
z-index: 10; z-index: 10;
} }
.sidebar-panel {
display: flex;
flex-direction: column;
gap: 30px;
}
.sidebar-panel.is-hidden {
display: none;
}
@media (max-width: 900px) { @media (max-width: 900px) {
.form-grid { .form-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
+3 -2
View File
@@ -185,7 +185,8 @@
small={true} small={true}
/> />
{#if sidebarTab === 'settings'} <!-- 设置面板始终挂载(仅切换显隐),确保别名/分类/系列/标签等字段在提交时始终存在 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'settings'}>
<div class="sidebar-box"> <div class="sidebar-box">
<h3>别名 *</h3> <h3>别名 *</h3>
<TextInput <TextInput
@@ -303,7 +304,7 @@
{/if} {/if}
</div> </div>
</div> </div>
{/if} </div>
<!-- 媒体面板始终挂载(仅切换显隐),确保特色图的隐藏表单项在表单提交时始终存在 --> <!-- 媒体面板始终挂载(仅切换显隐),确保特色图的隐藏表单项在表单提交时始终存在 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'media'}> <div class="sidebar-panel" class:is-hidden={sidebarTab !== 'media'}>
+3 -2
View File
@@ -205,7 +205,8 @@
small={true} small={true}
/> />
{#if sidebarTab === 'settings'} <!-- 设置面板始终挂载(仅切换显隐),确保别名/分类/系列/标签等字段在提交时始终存在 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'settings'}>
<div class="sidebar-box"> <div class="sidebar-box">
<h3 style="display: flex; justify-content: space-between; align-items: center;"> <h3 style="display: flex; justify-content: space-between; align-items: center;">
<span>别名 *</span> <span>别名 *</span>
@@ -335,7 +336,7 @@
{/if} {/if}
</div> </div>
</div> </div>
{/if} </div>
<!-- 媒体面板始终挂载(仅切换显隐),确保特色图的隐藏表单项在表单提交时始终存在 --> <!-- 媒体面板始终挂载(仅切换显隐),确保特色图的隐藏表单项在表单提交时始终存在 -->
<div class="sidebar-panel" class:is-hidden={sidebarTab !== 'media'}> <div class="sidebar-panel" class:is-hidden={sidebarTab !== 'media'}>