Interval selection over a simple area, line or bar series.
TxRangeSelector.date
| Parameter | Type | Default | Meaning |
|---|---|---|---|
| value | DateTimeRange | required | Current input/option value. |
| min | DateTime | required | Lower allowed bound. |
| max | DateTime | required | Upper allowed bound. |
| step | Duration | const Duration(days: 1) | Step size; milliseconds for Vue date ranges. |
| onChanged | ValueChanged<DateTimeRange>? | null | Callback for changed; see the signature for arguments and return type. |
| items | List<T> | const [] | Entries; replaced by dataSource when bound. |
| dataSource | Object? | null | List, configuration or DataSource instance; takes precedence over items. |
| argumentOf | DateTime Function(T) | required | Getter for the numeric or date X axis. |
| valueOf | double Function(T) | required | Getter for the numeric series value. |
| format | String Function(DateTime)? | null | Formats range values for display. |
| seriesType | String | 'area' | Series appearance: area/line/bar. |
| disabled | bool | false | Disables interaction. |
TxRangeSelector
| Parameter | Type | Default | Meaning |
|---|---|---|---|
| value | RangeValues | required | Current input/option value. |
| min | double | required | Lower allowed bound. |
| max | double | required | Upper allowed bound. |
| step | double | 1 | Step size; milliseconds for Vue date ranges. |
| onChanged | ValueChanged<RangeValues>? | null | Callback for changed; see the signature for arguments and return type. |
| items | List<T> | const [] | Entries; replaced by dataSource when bound. |
| dataSource | Object? | null | List, configuration or DataSource instance; takes precedence over items. |
| argumentOf | double Function(T) | required | Getter for the numeric or date X axis. |
| valueOf | double Function(T) | required | Getter for the numeric series value. |
| format | String Function(double)? | null | Formats range values for display. |
| seriesType | String | 'area' | Series appearance: area/line/bar. |
| disabled | bool | false | Disables interaction. |
import 'package:flutter/material.dart';
import 'package:tecexpress/tecexpress.dart';
Widget example() {
var range = const RangeValues(20, 80);
return StatefulBuilder(
builder: (context, setState) => TxRangeSelector<double>(value: range, min: 0, max: 100, items: const [20, 80], argumentOf: (v) => v, valueOf: (v) => v / 2, onChanged: (v) => setState(() => range = v)),
);
}import 'package:flutter/material.dart';
import 'package:tecexpress/tecexpress.dart';
Widget dateRange() => TxRangeSelector<DateTime>.date(value: DateTimeRange(start: DateTime(2026, 10, 1), end: DateTime(2026, 10, 10)), min: DateTime(2026, 10, 1), max: DateTime(2026, 11, 1), items: [DateTime(2026, 10, 5)], argumentOf: (date) => date, valueOf: (date) => 1, onChanged: (value) => debugPrint('$value'));