buildTextSpan method

  1. @override
TextSpan buildTextSpan({
  1. required BuildContext context,
  2. TextStyle? style,
  3. required bool withComposing,
})
override

Builds TextSpan from current editing value.

By default makes text in composing range appear as underlined. Descendants can override this method to customize appearance of text.

Implementation

@override
TextSpan buildTextSpan(
    {required BuildContext context,
    TextStyle? style,
    required bool withComposing}) {
  final Iterable<WidgetSpan> chipWidgets = values.map((T v) {
    return WidgetSpan(
      child: Row(
        mainAxisSize: MainAxisSize.min,
        children: [
          chipBuilder(context, v),
          const SizedBox(width: 8),
        ],
      ),
    );
  });

  return TextSpan(
    children: <InlineSpan>[
      ...chipWidgets,
      if (textWithoutReplacements.isNotEmpty)
        TextSpan(text: textWithoutReplacements)
    ],
  );
}