createRoute method

  1. @override
Route createRoute(
  1. BuildContext context
)
override

Creates the Route that corresponds to this page.

The created Route must have its Route.settings property set to this Page.

Implementation

@override
Route createRoute(BuildContext context) {
  var listView = ListView.builder(
    itemCount: data.length,
    itemBuilder: (c, i) {
      var d = data[i];
      var result = d.children == null
          ? ListTile(
              title: Text(d.name.toString()),
              onTap: () {
                ok(d);
              },
            )
          : ListTile(
              title: Text(d.name.toString()),
              onTap: () {
                to(d, d.name);
              },
              trailing: Icon(Icons.chevron_right),
            );
      return result;
    },
  );
  var result = MaterialPageRoute(
    settings: this,
    builder: (BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text(title ?? ''),
          actions: [CryButtons.cancel(context, () => ok(null), showLabel: false)],
        ),
        body: listView,
      );
    },
  );
  return result;
}