From 25e01a109bb622deca9d613802fd7391a7a6548b Mon Sep 17 00:00:00 2001 From: xfy Date: Fri, 26 Jun 2026 11:07:31 +0800 Subject: [PATCH] =?UTF-8?q?fix(write):=20=E7=A7=BB=E9=99=A4=20cover=5Fuplo?= =?UTF-8?q?ading=20=E5=A4=9A=E4=BD=99=E7=9A=84=20mut=20=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本组件只读取(on_submit 拦截)与传递给 CoverUploader,写入全在子组件 内部。Signal 是 Copy 类型,.set() 不要求 mut 绑定,编译器的 unused_mut 警告是真阳性。 --- src/pages/admin/write.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/admin/write.rs b/src/pages/admin/write.rs index c25e518..e298b43 100644 --- a/src/pages/admin/write.rs +++ b/src/pages/admin/write.rs @@ -77,7 +77,9 @@ fn write_editor(post_id: Option) -> Element { let mut tags = use_signal(|| "".to_string()); let mut cover_image = use_signal(|| "".to_string()); // 封面上传中状态:由子组件 CoverUploader 写入,本组件在 on_submit 读取以拦截保存。 - let mut cover_uploading = use_signal(|| false); + // 无需 mut:本组件只读取(L254)与传递(L452),写入都在 CoverUploader 内部, + // 而 Dioxus Signal 是 Copy 类型,.set() 不要求 mut 绑定。 + let cover_uploading = use_signal(|| false); let mut status = use_signal(|| "draft".to_string()); let mut content = use_signal(|| "".to_string()); // 页面与编辑器加载、保存、错误、成功等状态。