From 09d6b5a8b84dc7b738a32001ae927cb056f8bbff Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 17 Nov 2024 17:43:52 +0800 Subject: [PATCH] :art: Improve av option editing https://github.com/siyuan-note/siyuan/issues/11484 --- kernel/model/attribute_view.go | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index ac5ac113a..9e76aa3a0 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -3465,11 +3465,24 @@ func updateAttributeViewColumnOption(operation *Operation) (err error) { newName := data["newName"].(string) newColor := data["newColor"].(string) - for i, opt := range key.Options { - if oldName == opt.Name { - key.Options[i].Name = newName - key.Options[i].Color = newColor - break + found := false + if oldName != newName { + for _, opt := range key.Options { + if newName == opt.Name { // 如果选项名已经存在则直接使用 + found = true + newColor = opt.Color + break + } + } + } + + if !found { + for i, opt := range key.Options { + if oldName == opt.Name { + key.Options[i].Name = newName + key.Options[i].Color = newColor + break + } } }