[QUESTION] TextField inside a table
Hi there,
I'm trying to insert a TextField inside a table element without success.
This is my code:
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(
scaffoldBackgroundColor: Colors.white,
),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: MyWidget(),
),
),
);
}
}
class MyWidget extends StatelessWidget {
final _htmlContent = '''
<table>
<tr><td>Title 1</td><td>Title 2</td></tr>
<tr><td><text_input id="input1"></text_input></td><td><text_input id="input2"></text_input></td></tr>
</table>
''';
@override
Widget build(BuildContext context) {
return Html(
data: _htmlContent,
customRender: {
'text_input': (RenderContext context, Widget child) {
return TextField();
},
},
tagsList: Html.tags
..addAll([
'text_input',
]),
);
}
}
pubspec.yaml
flutter_html: ^2.2.1
flutter doctor:
[✓] Flutter (Channel stable, 3.0.2, on macOS 12.3.1 21E258 darwin-arm, locale
en-IL)
[✓] Android toolchain - develop for Android devices (Android SDK version
32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.68.0)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!
I tried even wrapping the TextField with a SizedBox, but it didn't worked.
Thanks!
A picture of a cute animal (not mandatory but encouraged)

What issue do you see when you try to do this?
I see a white screen and get many errors in log:
Click to expand!
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selectable.dart:459:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
SchedulerBinding.instance!.addPostFrameCallback((_) {
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/overlay_manager.dart:138:28: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
if (SchedulerBinding.instance!.schedulerPhase ==
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/overlay_manager.dart:140:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
SchedulerBinding.instance!
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/web_selection_manager.dart:119:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
SchedulerBinding.instance!
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/overlay.dart:141:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
if (SchedulerBinding.instance!.schedulerPhase ==
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/overlay.dart:143:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
SchedulerBinding.instance!.addPostFrameCallback(_markNeedsBuild);
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/overlay.dart:193:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
if (SchedulerBinding.instance!.schedulerPhase ==
^
../../.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.5.0/lib/src/widgets/selection/overlay.dart:195:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../fvm/versions/stable/packages/flutter/lib/src/scheduler/binding.dart').
SchedulerBinding.instance!.addPostFrameCallback(_markNeedsBuild);
^
This app is linked to the debug service: ws://127.0.0.1:49716/IYQ_UAp56rQ=/ws
Debug service listening on ws://127.0.0.1:49716/IYQ_UAp56rQ=/ws
💪 Running with sound null safety 💪
Debug service listening on ws://127.0.0.1:49716/IYQ_UAp56rQ=/ws
Flutter Web Bootstrap: Programmatic
======== Exception caught by rendering library =====================================================
The following assertion was thrown during performLayout():
The _RenderDecoration class does not support dry layout.
Layout requires baseline metrics, which are only available after a full layout.
The relevant error-causing widget was:
LayoutGrid LayoutGrid:file:///Users/eitanaflalo/.pub-cache/hosted/pub.dartlang.org/flutter_html-2.2.1/lib/src/layout_element.dart:173:12
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49 throw_
packages/flutter/src/rendering/box.dart 1951:11 <fn>
packages/flutter/src/rendering/box.dart 1960:14 debugCannotComputeDryLayout
packages/flutter/src/material/input_decorator.dart 1283:12 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/shifted_box.dart 213:28 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/proxy_box.dart 108:14 computeDryLayout
packages/flutter/src/rendering/box.dart 1874:25 [_computeDryLayout]
packages/flutter/src/rendering/box.dart 1856:81 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1856:27 getDryLayout
packages/flutter/src/rendering/paragraph.dart 425:30 [_computeChildrenHeightWithMinIntrinsics]
packages/flutter/src/rendering/paragraph.dart 325:5 [_computeIntrinsicHeight]
packages/flutter/src/rendering/paragraph.dart 332:12 computeMinIntrinsicHeight
packages/flutter/src/rendering/box.dart 1395:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1393:29 [_computeIntrinsicDimension]
packages/flutter/src/rendering/box.dart 1678:12 getMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 87:14 computeMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 255:33 computeMinIntrinsicHeight
packages/flutter/src/rendering/box.dart 1395:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1393:29 [_computeIntrinsicDimension]
packages/flutter/src/rendering/box.dart 1678:12 getMinIntrinsicHeight
packages/flutter/src/rendering/shifted_box.dart 49:14 computeMinIntrinsicHeight
packages/flutter/src/rendering/box.dart 1395:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1393:29 [_computeIntrinsicDimension]
packages/flutter/src/rendering/box.dart 1678:12 getMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 87:14 computeMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 255:33 computeMinIntrinsicHeight
packages/flutter/src/rendering/box.dart 1395:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1393:29 [_computeIntrinsicDimension]
packages/flutter/src/rendering/box.dart 1678:12 getMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 87:14 computeMinIntrinsicHeight
packages/flutter/src/rendering/box.dart 1395:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1393:29 [_computeIntrinsicDimension]
packages/flutter/src/rendering/box.dart 1678:12 getMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 87:14 computeMinIntrinsicHeight
packages/flutter/src/rendering/proxy_box.dart 255:33 computeMinIntrinsicHeight
packages/flutter/src/rendering/box.dart 1395:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 194:23 putIfAbsent
packages/flutter/src/rendering/box.dart 1393:29 [_computeIntrinsicDimension]
packages/flutter/src/rendering/box.dart 1678:12 getMinIntrinsicHeight
packages/flutter_layout_grid/src/rendering/track_size.dart 117:15 [_itemMinIntrinsicSizeOnAxis]
packages/flutter_layout_grid/src/rendering/track_size.dart 278:17 <fn>
dart-sdk/lib/internal/iterable.dart 413:31 elementAt
dart-sdk/lib/internal/iterable.dart 182:15 reduce
packages/quiver/src/iterables/min_max.dart 24:11 max
packages/flutter_layout_grid/src/rendering/track_size.dart 284:12 minIntrinsicSize
packages/flutter_layout_grid/src/rendering/layout_grid.dart 647:43 [_resolveIntrinsicTrackSizes]
packages/flutter_layout_grid/src/rendering/layout_grid.dart 518:5 [_performTrackSizingInternal]
packages/flutter_layout_grid/src/rendering/layout_grid.dart 460:20 [_performTrackSizing]
packages/flutter_layout_grid/src/rendering/layout_grid.dart 426:5 computeGridSize
packages/flutter_layout_grid/src/rendering/layout_grid.dart 317:41 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/widgets/layout_builder.dart 318:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/shifted_box.dart 233:5 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/paragraph.dart 546:14 [_layoutChildren]
packages/flutter/src/rendering/paragraph.dart 633:30 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 277:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/shifted_box.dart 437:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/shifted_box.dart 233:5 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/paragraph.dart 546:14 [_layoutChildren]
packages/flutter/src/rendering/paragraph.dart 633:30 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 277:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/shifted_box.dart 437:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/paragraph.dart 546:14 [_layoutChildren]
packages/flutter/src/rendering/paragraph.dart 633:30 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 277:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 277:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/shifted_box.dart 437:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/custom_layout.dart 171:10 layoutChild
packages/flutter/src/material/scaffold.dart 1003:7 performLayout
packages/flutter/src/rendering/custom_layout.dart 240:7 [_callPerformLayout]
packages/flutter/src/rendering/custom_layout.dart 403:14 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/proxy_box.dart 1376:11 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/layout_helper.dart 56:10 layoutChild
packages/flutter/src/rendering/stack.dart 552:43 [_computeSize]
packages/flutter/src/rendering/stack.dart 579:12 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/proxy_box.dart 3462:13 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/widgets/overlay.dart 749:14 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/proxy_box.dart 116:7 performLayout
packages/flutter/src/rendering/object.dart 1915:7 layout
packages/flutter/src/rendering/view.dart 165:7 performLayout
packages/flutter/src/rendering/object.dart 1757:7 [_layoutWithoutResize]
packages/flutter/src/rendering/object.dart 887:17 flushLayout
packages/flutter/src/rendering/binding.dart 504:19 drawFrame
packages/flutter/src/widgets/binding.dart 892:13 drawFrame
packages/flutter/src/rendering/binding.dart 370:5 [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1146:15 [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1083:9 handleDrawFrame
packages/flutter/src/scheduler/binding.dart 864:7 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19 internalCallback
The following RenderObject was being processed when the exception was fired: RenderLayoutGrid#9c535 relayoutBoundary=up20 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: offset=Offset(0.0, 0.0) (can use size)
... constraints: BoxConstraints(0.0<=w<=2040.0, 0.0<=h<=Infinity)
... size: MISSING
RenderObject: RenderLayoutGrid#9c535 relayoutBoundary=up20 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: offset=Offset(0.0, 0.0) (can use size)
constraints: BoxConstraints(0.0<=w<=2040.0, 0.0<=h<=Infinity)
size: MISSING
... child 1: RenderConstrainedBox#90ede NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: columnStart=0; columnSpan=1; rowStart=0; rowSpan=1; offset=Offset(0.0, 0.0)
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
... child: RenderDecoratedBox#002ef NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... decoration: BoxDecoration
... color: Color(0x00000000)
... configuration: ImageConfiguration(bundle: PlatformAssetBundle#321c0(), devicePixelRatio: 2.0, locale: en_US, textDirection: TextDirection.ltr, platform: macOS)
... child: RenderConstrainedBox#cf9f0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(biggest)
... child: RenderPositionedBox#ffc02 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... alignment: Alignment.centerLeft
... textDirection: ltr
... widthFactor: expand
... heightFactor: expand
... child 2: RenderConstrainedBox#c44cf NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: columnStart=1; columnSpan=1; rowStart=0; rowSpan=1; offset=Offset(0.0, 0.0)
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
... child: RenderDecoratedBox#d8c31 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... decoration: BoxDecoration
... color: Color(0x00000000)
... configuration: ImageConfiguration(bundle: PlatformAssetBundle#321c0(), devicePixelRatio: 2.0, locale: en_US, textDirection: TextDirection.ltr, platform: macOS)
... child: RenderConstrainedBox#0ee2c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(biggest)
... child: RenderPositionedBox#95c99 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... alignment: Alignment.centerLeft
... textDirection: ltr
... widthFactor: expand
... heightFactor: expand
... child 3: RenderConstrainedBox#16efa NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: columnStart=0; columnSpan=1; rowStart=1; rowSpan=1; offset=Offset(0.0, 0.0)
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
... child: RenderDecoratedBox#1dfcd NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... decoration: BoxDecoration
... color: Color(0x00000000)
... configuration: ImageConfiguration(bundle: PlatformAssetBundle#321c0(), devicePixelRatio: 2.0, locale: en_US, textDirection: TextDirection.ltr, platform: macOS)
... child: RenderConstrainedBox#c9c50 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(biggest)
... child: RenderPositionedBox#1992a NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... alignment: Alignment.centerLeft
... textDirection: ltr
... widthFactor: expand
... heightFactor: expand
... child 4: RenderConstrainedBox#99c48 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: columnStart=1; columnSpan=1; rowStart=1; rowSpan=1; offset=Offset(0.0, 0.0)
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
... child: RenderDecoratedBox#e0214 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... decoration: BoxDecoration
... color: Color(0x00000000)
... configuration: ImageConfiguration(bundle: PlatformAssetBundle#321c0(), devicePixelRatio: 2.0, locale: en_US, textDirection: TextDirection.ltr, platform: macOS)
... child: RenderConstrainedBox#dfa1c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... additionalConstraints: BoxConstraints(biggest)
... child: RenderPositionedBox#8ca1f NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none>
... constraints: MISSING
... size: MISSING
... alignment: Alignment.centerLeft
... textDirection: ltr
... widthFactor: expand
... heightFactor: expand
====================================================================================================
</details>
Hmm sounds like a specific oddity of Flutter's TextField, which doesn't 'properly' support dry layouting, which our table support (via flutter_layout_grid) needs. See https://github.com/flutter/flutter/issues/71687 for the bug details and a possible workaround.
Closing, since we've provided an answer to the question.