首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得颤振的DataTable工作与获取的数据(工作与硬编码的数据-神秘)

无法获得颤振的DataTable工作与获取的数据(工作与硬编码的数据-神秘)
EN

Stack Overflow用户
提问于 2021-05-22 20:01:57
回答 1查看 683关注 0票数 1

我正面临着对我来说很奇怪的问题。

我正在尝试使用Flutter的DataTable小部件。它适用于硬编码的模拟数据,但一旦我尝试使用实际数据,我就会得到异常。

代码语言:javascript
复制
======== Exception caught by rendering library =====================================================
The following assertion was thrown during performLayout():
LayoutBuilder does not support returning intrinsic dimensions.

Calculating the intrinsic dimensions would require running the layout callback speculatively, which might mutate the live render object tree.
The relevant error-causing widget was: 
  DataTable file:///home/david/evidence-system/evidence-system-ui/lib/app/services/history/view/history.dart:41:24
When the exception was thrown, this was the stack: 
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49  throw_
packages/flutter/src/widgets/layout_builder.dart 390:9                        <fn>
packages/flutter/src/widgets/layout_builder.dart 396:14                       [_debugThrowIfNotCheckingIntrinsics]
packages/flutter/src/widgets/layout_builder.dart 332:12                       computeMaxIntrinsicWidth
packages/flutter/src/rendering/box.dart 1377:23                               <fn>
...
The following RenderObject was being processed when the exception was fired: RenderTable#0d365 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...  parentData: <none> (can use size)
...  constraints: BoxConstraints(w=824.0, h=643.0)
...  size: MISSING
...  specified column widths: {0: IntrinsicColumnWidth(flex: null), 1: IntrinsicColumnWidth(flex: null), 2: IntrinsicColumnWidth(flex: null), 3: IntrinsicColumnWidth(flex: null), 4: IntrinsicColumnWidth(flex: null), 5: IntrinsicColumnWidth(flex: null), 6: IntrinsicColumnWidth(flex: null)}
...  default column width: FlexColumnWidth(1.0)
...  table size: 7×2
...  column offsets: unknown
...  row offsets: []
RenderObject: RenderTable#0d365 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
  parentData: <none> (can use size)
  constraints: BoxConstraints(w=824.0, h=643.0)
  size: MISSING
  specified column widths: {0: IntrinsicColumnWidth(flex: null), 1: IntrinsicColumnWidth(flex: null), 2: IntrinsicColumnWidth(flex: null), 3: IntrinsicColumnWidth(flex: null), 4: IntrinsicColumnWidth(flex: null), 5: IntrinsicColumnWidth(flex: null), 6: IntrinsicColumnWidth(flex: null)}
  default column width: FlexColumnWidth(1.0)
  table size: 7×2
  column offsets: unknown
  row offsets: []
...  child (0, 0): RenderSemanticsAnnotations#2c88c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#9e99d NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#38b3d NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#9dae7 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (1, 0): RenderSemanticsAnnotations#e4381 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#485e9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#a8a31 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#c3f75 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (2, 0): RenderSemanticsAnnotations#6eeb9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#1b90c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#8b3ff NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#ec781 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (3, 0): RenderSemanticsAnnotations#d038d NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#9b7b7 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#d8a18 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#609f8 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (4, 0): RenderSemanticsAnnotations#a3fea NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#abb50 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#ff154 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#a8038 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (5, 0): RenderSemanticsAnnotations#5fc1a NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#e35cb NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#84a24 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#1173b NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (6, 0): RenderSemanticsAnnotations#0b1f2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#0fa2c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(basic)
...      child: RenderSemanticsAnnotations#02f28 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#ff4c2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (0, 1): RenderSemanticsAnnotations#60834 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#860da NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#3a794 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#b5a60 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (1, 1): RenderSemanticsAnnotations#37e52 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#3d6b0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#395e6 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#9dd76 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (2, 1): RenderSemanticsAnnotations#8fd13 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#a89b4 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#8e394 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#57744 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (3, 1): RenderSemanticsAnnotations#a1854 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#aadd8 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#0d64c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#82d1c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (4, 1): RenderSemanticsAnnotations#d8a31 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#55a3a NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#7dc63 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#678a3 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (5, 1): RenderSemanticsAnnotations#fec7a NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#89ca3 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#d6bc5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#ab3ce NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
...  child (6, 1): RenderSemanticsAnnotations#e87e1 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...    parentData: offset=Offset(0.0, 0.0); default vertical alignment
...    constraints: MISSING
...    size: MISSING
...    child: RenderMouseRegion#26cd8 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...      parentData: <none>
...      constraints: MISSING
...      size: MISSING
...      listeners: enter, exit
...      cursor: SystemMouseCursor(click)
...      child: RenderSemanticsAnnotations#4dff1 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...        parentData: <none>
...        constraints: MISSING
...        size: MISSING
...        child: RenderPointerListener#f97a0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
...          parentData: <none>
...          constraints: MISSING
...          size: MISSING
...          behavior: opaque
...          listeners: down
====================================================================================================

======== Exception caught by rendering library =====================================================
Assertion failed: file:///home/david/snap/flutter/common/flutter/packages/flutter/lib/src/rendering/box.dart:1940:12
hasSize
"RenderBox was not laid out: RenderTable#0d365 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE"
The relevant error-causing widget was: 
  DataTable file:///home/david/evidence-system/evidence-system-ui/lib/app/services/history/view/history.dart:41:24
====================================================================================================

这是我的代码(我正在使用velocityX)

代码语言:javascript
复制
Widget build(BuildContext context) {
    context.read<HistoryCubit>().loadHistory(widget._activityId);
    return Column(
      children: [
        Buttons.neumorphic(context, () {}, text: context.translate("Log Act"))
            .box.alignCenterLeft.make(),
        BlocBuilder<HistoryCubit, HistoryState>(
          builder: (context, state) {
            print("building");
            if (state is HistoryLoading) {
              return normalCircularProgressIndicator();
            }
            if (state is HistoryEmpty) {
              return "History is empty"
                  .text.makeCentered().box.make();
            }
            if (state is HistoryInitialized) {
              return SizedBox(
                width: double.infinity,
                child: DataTable(
                  columns: state.columns, // The problem is here
                  rows: state.rows,       // The problem is here
                ),
              );
            } else {
              throw Exception("Unknown history state $state");
            }
          },
        ).box.make().expand(),
      ],
    );
  }

当我对列和行使用硬编码值时,这个问题就消失了,所以问题可能在我的列和行结构中,但我没有看到。

代码语言:javascript
复制
  List<DataColumn> generateColumnDefinition(List<HistoryColumnDTO> columns) {
    return [
      DataColumn(label: Text("")),
      ...columns.map((e) => DataColumn(
        label: e.name.text.make(),
        numeric: e.dataType.type == DataType.Number
      )),
    ];
  }

  List<DataRow> generateRowDefinition(List<HistoryRowDTO> rows) {
    return rows.map((HistoryRowDTO e) {
      return DataRow(cells: [
        ...e.values.map((e) => DataCell(e.value.toString().text.make())),
      ]);
    }).toList();
  }

如果你能帮我,那就太棒了,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-23 17:46:28

Inside DataTable -当您在DataCell中使用文本小部件时,与文本一起使用isIntrinsic支柱。对于例如- e.value.toString().text.isIntrinsic.make()。如果不起作用就告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67653688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档