Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振数据表排序图标未显示_Flutter - Fatal编程技术网

Flutter 颤振数据表排序图标未显示

Flutter 颤振数据表排序图标未显示,flutter,Flutter,颤振数据表中的排序图标没有显示,我不确定这是否是一个bug,或者我的代码是否错误 根据需要,我只需在DataTable()中添加sortColumnIndex:0 我所期望的是: 我得到的是: 这是我正在使用的代码: import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget buil

颤振数据表中的排序图标没有显示,我不确定这是否是一个bug,或者我的代码是否错误

根据需要,我只需在
DataTable()中添加
sortColumnIndex:0

我所期望的是:

我得到的是:

这是我正在使用的代码:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter DataTable',
      home: DataScreen(),
    );
  }
}

class DataScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: DataTable(
          sortColumnIndex: 0,
          sortAscending: true,
          columns: [
            DataColumn(label: Text('Name')),
            DataColumn(label: Text('Year')),
          ],
          rows: [
            DataRow(cells: [
              DataCell(Text('Dash')),
              DataCell(Text('2018')),
            ]),
            DataRow(cells: [
              DataCell(Text('Gopher')),
              DataCell(Text('2009')),
            ]),
          ],
        ),
      ),
    );
  }
}
我知道,有一个问题和拉请求。但即使我切换到dev频道,排序箭头也不会显示。我还厌倦了上面的交互式代码示例

我测试过的版本:

  • 颤振1.22.1•通道稳定
  • 颤振1.22.1•通道测试
  • 颤振1.23.0-7.0.pre•通道偏差
  • 颤振1.23.0-8.0.pre.283•主通道

所以我不确定我是否遗漏了什么,或者它是否是一个bug。

您必须设置函数:
onSort

class DataScreen extends StatefulWidget {
  @override
  _DataScreenState createState() => _DataScreenState();
}

class _DataScreenState extends State<DataScreen> {
  bool ascending = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: DataTable(
          sortColumnIndex: 0,
          sortAscending: ascending,
          columns: [
            DataColumn(
              label: Text('Name'),
              onSort: (columnIndex, ascending) {
                setState(() {
                  this.ascending = ascending;
                });
              },
            ),
            DataColumn(
              label: Text('Year'),
            ),
          ],
          rows: [
            DataRow(cells: [
              DataCell(
                Text('Dash'),
              ),
              DataCell(
                Text('2018'),
              ),
            ]),
            DataRow(cells: [
              DataCell(
                Text('Gopher'),
              ),
              DataCell(
                Text('2009'),
              ),
            ]),
          ],
        ),
      ),
    );
  }
}
类数据屏幕扩展StatefulWidget{
@凌驾
_DataScreenState createState()=>\u DataScreenState();
}
类_DataScreenState扩展状态{
布尔上升=假;
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:数据表(
sortColumnIndex:0,
排序:提升,
栏目:[
数据列(
标签:文本(“名称”),
onSort:(列索引,升序){
设置状态(){
这个上升=上升;
});
},
),
数据列(
标签:文本(“年”),
),
],
行:[
数据行(单元格:[
数据单元(
文本(‘破折号’),
),
数据单元(
文本(“2018”),
),
]),
数据行(单元格:[
数据单元(
文本('Gopher'),
),
数据单元(
文本('2009'),
),
]),
],
),
),
);
}
}

必须设置函数:
onSort

class DataScreen extends StatefulWidget {
  @override
  _DataScreenState createState() => _DataScreenState();
}

class _DataScreenState extends State<DataScreen> {
  bool ascending = false;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: DataTable(
          sortColumnIndex: 0,
          sortAscending: ascending,
          columns: [
            DataColumn(
              label: Text('Name'),
              onSort: (columnIndex, ascending) {
                setState(() {
                  this.ascending = ascending;
                });
              },
            ),
            DataColumn(
              label: Text('Year'),
            ),
          ],
          rows: [
            DataRow(cells: [
              DataCell(
                Text('Dash'),
              ),
              DataCell(
                Text('2018'),
              ),
            ]),
            DataRow(cells: [
              DataCell(
                Text('Gopher'),
              ),
              DataCell(
                Text('2009'),
              ),
            ]),
          ],
        ),
      ),
    );
  }
}
类数据屏幕扩展StatefulWidget{
@凌驾
_DataScreenState createState()=>\u DataScreenState();
}
类_DataScreenState扩展状态{
布尔上升=假;
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:数据表(
sortColumnIndex:0,
排序:提升,
栏目:[
数据列(
标签:文本(“名称”),
onSort:(列索引,升序){
设置状态(){
这个上升=上升;
});
},
),
数据列(
标签:文本(“年”),
),
],
行:[
数据行(单元格:[
数据单元(
文本(‘破折号’),
),
数据单元(
文本(“2018”),
),
]),
数据行(单元格:[
数据单元(
文本('Gopher'),
),
数据单元(
文本('2009'),
),
]),
],
),
),
);
}
}

好的,似乎排序函数不能为
null
。谢谢您的帮助好的,看来排序函数不能为
null
。谢谢你的帮助