render method

  1. @override
String render()
override

Renders the component as a string.

Implementation

@override
String render() {
  final buffer = StringBuffer();
  final prefix = ' ' * indent;
  final enumFn = enumerator ?? ListEnumerator.fixed(bullet);

  for (var i = 0; i < items.length; i++) {
    final symbol = enumFn(i);
    var text = items[i];

    if (itemStyleFunc != null) {
      final style = itemStyleFunc!(i, text);
      if (style != null) {
        renderConfig.configureStyle(style);
        text = style.render(text);
      }
    }

    buffer.write('$prefix$symbol $text');
    if (i < items.length - 1) buffer.writeln();
  }

  return buffer.toString();
}