Overview
AppFlowy Editor supports two types of list blocks: bulleted (unordered) lists and numbered (ordered) lists. Both support nesting and rich text formatting.Bulleted Lists
Block Keys
/lib/src/editor/block_component/bulleted_list_block_component/bulleted_list_block_component.dart:6
Creating Bulleted List Nodes
/lib/src/editor/block_component/bulleted_list_block_component/bulleted_list_block_component.dart:18
Bulleted List Icons
The default icons change based on nesting level:/lib/src/editor/block_component/bulleted_list_block_component/bulleted_list_block_component.dart:206
Custom Icon Builder
Provide a custom icon builder:Markdown Shortcuts
Bulleted lists support markdown syntax:* or - followed by a space to create bulleted lists.
Numbered Lists
Block Keys
/lib/src/editor/block_component/numbered_list_block_component/numbered_list_block_component.dart:6
Creating Numbered List Nodes
/lib/src/editor/block_component/numbered_list_block_component/numbered_list_block_component.dart:20
Number Formatting
Numbered lists use different formats based on nesting level:- Level 0 (root): 1, 2, 3, …
- Level 1 (nested once): a, b, c, …
- Level 2 (nested twice): i, ii, iii, …
- Pattern repeats for deeper nesting
/lib/src/editor/block_component/numbered_list_block_component/numbered_list_block_component.dart:258
Custom Numbering
Thenumber attribute sets the starting number:
Markdown Shortcuts
Create numbered lists with markdown:. and space (e.g., 1. ).
Component Builders
Bulleted List Builder
/lib/src/editor/block_component/bulleted_list_block_component/bulleted_list_block_component.dart:38
Numbered List Builder
/lib/src/editor/block_component/numbered_list_block_component/numbered_list_block_component.dart:49
Mixins Used
Both list types use the same mixins:NestedBlockComponentStatefulWidgetMixin- Enables child list items
/lib/src/editor/block_component/bulleted_list_block_component/bulleted_list_block_component.dart:89
Nesting and Indentation
Indent/Outdent Commands
Lists support indentation:Creating Nested Lists
Indent Padding Configuration
Using Lists in Editor
Inserting List Items
Converting Between List Types
Handling New Lines
Special behavior for Enter key:- Empty list item + Enter → Convert to paragraph
- Non-empty item + Enter → Create new list item
- End of nested item + Enter → Create sibling item
Custom Styling Examples
Colored Bullets
Checkmark Lists
Key Features
Bulleted Lists
- Automatic bullet icons - Three icon styles for nesting
- Custom icons - Full icon customization
- Markdown shortcuts -
*and-syntax - Nested support - Unlimited nesting levels
- Rich text - Full Delta formatting
Numbered Lists
- Smart numbering - Automatic sequential numbering
- Multiple formats - Numbers, letters, roman numerals
- Custom start - Begin at any number
- Level-based formatting - Different styles per level
- Markdown shortcuts -
1.syntax
Best Practices
- Use bulleted lists for unordered items of equal importance
- Use numbered lists for sequential steps or ranked items
- Limit nesting to 3-4 levels for readability
- Keep items concise - Break long items into sub-items
- Maintain consistency - Don’t mix list types at the same level
Related
Quote Blocks
Styled quote blocks
Paragraph Blocks
Basic text blocks