From aa01e99b0d8e0d253261d740992a462ebf52f4a2 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 10 Mar 2024 22:06:25 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/10557 --- kernel/model/attribute_view.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 8944c0deb..4948d086a 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -2012,9 +2012,20 @@ func addAttributeViewBlock(avID, blockID, previousBlockID, addingBlockID string, viewable.FilterRows(attrView) viewable.SortRows() - var lastRow *av.TableRow + var nearRow *av.TableRow if 0 < len(viewable.Rows) { - lastRow = viewable.Rows[len(viewable.Rows)-1] + if "" != previousBlockID { + for _, row := range viewable.Rows { + if row.ID == previousBlockID { + nearRow = row + break + } + } + } else { + if 0 < len(viewable.Rows) { + nearRow = viewable.Rows[0] + } + } } sameKeyFilterSort := false // 是否在同一个字段上同时存在过滤和排序 @@ -2041,8 +2052,8 @@ func addAttributeViewBlock(avID, blockID, previousBlockID, addingBlockID string, for _, keyValues := range attrView.KeyValues { if keyValues.Key.ID == filter.Column { var defaultVal *av.Value - if nil != lastRow { - defaultVal = lastRow.GetValue(filter.Column) + if nil != nearRow { + defaultVal = nearRow.GetValue(filter.Column) } newValue := filter.GetAffectValue(keyValues.Key, defaultVal)