diff --git a/kernel/av/av.go b/kernel/av/av.go index 85c661df9..f96199b01 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -321,6 +321,21 @@ func SaveAttributeView(av *AttributeView) (err error) { } } + // 补全过滤器 Value + for _, view := range av.Views { + if nil == view.Table { + for _, f := range view.Table.Filters { + if nil != f.Value { + continue + } + + if k, _ := av.GetKey(f.Column); nil != k { + f.Value = &Value{Type: k.Type} + } + } + } + } + // 值去重 blockValues := av.GetBlockKeyValues() blockIDs := map[string]bool{} diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 67fb2baa4..ec67b3900 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -695,6 +695,19 @@ func renderAttributeView(attrView *av.AttributeView, viewID string, page, pageSi } } + // 补全过滤器 Value + if nil != view.Table { + for _, f := range view.Table.Filters { + if nil != f.Value { + continue + } + + if k, _ := attrView.GetKey(f.Column); nil != k { + f.Value = &av.Value{Type: k.Type} + } + } + } + switch view.LayoutType { case av.LayoutTypeTable: // 列删除以后需要删除设置的过滤和排序