瀏覽代碼

fix: checkbox error

pressing Enter after a checked-off item, the new checkbox is also checked off. it should be unchecked when it’s newly created.
Lucas.Xu 2 年之前
父節點
當前提交
0650c40d9d

+ 8 - 2
frontend/app_flowy/packages/flowy_editor/lib/service/internal_key_event_handlers/enter_without_shift_in_text_node_handler.dart

@@ -100,6 +100,13 @@ FlowyKeyEventHandler enterWithoutShiftInTextNodesHandler =
   final needCopyAttributes = StyleKey.globalStyleKeys
       .where((key) => key != StyleKey.heading)
       .contains(textNode.subtype);
+  Attributes attributes = {};
+  if (needCopyAttributes) {
+    attributes = Attributes.from(textNode.attributes);
+    if (attributes.check) {
+      attributes[StyleKey.checkbox] = false;
+    }
+  }
   final afterSelection = Selection.collapsed(
     Position(path: textNode.path.next, offset: 0),
   );
@@ -107,8 +114,7 @@ FlowyKeyEventHandler enterWithoutShiftInTextNodesHandler =
     ..insertNode(
       textNode.path.next,
       textNode.copyWith(
-        attributes:
-            needCopyAttributes ? Attributes.from(textNode.attributes) : {},
+        attributes: attributes,
         delta: textNode.delta.slice(selection.end.offset),
       ),
     )