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