You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
949 B
38 lines
949 B
import 'package:flutter/material.dart';
|
|
|
|
class TableView extends StatelessWidget {
|
|
final Map<String, dynamic> map;
|
|
const TableView({Key key, @required this.map}) : super(key: key);
|
|
Widget _buildTableTitle(String title) {
|
|
return Padding(
|
|
padding: EdgeInsets.all(5),
|
|
child: Text(title),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> get _map => map ?? {};
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Table(
|
|
border: TableBorder(horizontalInside: BorderSide(color: Colors.black12)),
|
|
children: [
|
|
TableRow(
|
|
children: [
|
|
_buildTableTitle('KEY'),
|
|
_buildTableTitle('VALUE'),
|
|
],
|
|
),
|
|
..._map.entries
|
|
.map((e) => TableRow(
|
|
children: [
|
|
_buildTableTitle(e.key),
|
|
_buildTableTitle(e.value.toString()),
|
|
],
|
|
))
|
|
.toList(),
|
|
],
|
|
);
|
|
}
|
|
}
|