diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 6dc9b1c5a..0f943951d 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1161,9 +1161,9 @@ func (tx *Transaction) doInsert(operation *Operation) (ret *TxErr) { ReloadAttrView(avID) } - // 插入数据库块时需要重新绑定其中已经存在的块 - // 比如剪切操作时,会先进行 delete 数据库解绑块,这里需要重新绑定 https://github.com/siyuan-note/siyuan/issues/13031 if ast.NodeAttributeView == insertedNode.Type { + // 插入数据库块时需要重新绑定其中已经存在的块 + // 比如剪切操作时,会先进行 delete 数据库解绑块,这里需要重新绑定 https://github.com/siyuan-note/siyuan/issues/13031 attrView, parseErr := av.ParseAttributeView(insertedNode.AttributeViewID) if nil == parseErr { trees, toBindNodes := tx.getAttrViewBoundNodes(attrView) @@ -1171,6 +1171,13 @@ func (tx *Transaction) doInsert(operation *Operation) (ret *TxErr) { t := trees[toBindNode.ID] bindBlockAv0(tx, insertedNode.AttributeViewID, toBindNode, t) } + + // 设置视图 https://github.com/siyuan-note/siyuan/issues/15279 + v := attrView.GetView(attrView.ViewID) + if nil != v { + insertedNode.AttributeViewType = string(v.LayoutType) + insertedNode.SetIALAttr(av.NodeAttrView, v.ID) + } } }