import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; class IntParam extends StatelessWidget { final String title; final int? initial; final Function(int? v) onChanged; IntParam(this.title, this.initial, this.onChanged); @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(8.0), child: Row( children: [ Text(title), SizedBox( width: 2, ), Expanded( child: TextField( controller: TextEditingController(text: initial?.toString() ?? ''), onChanged: (v) => onChanged(int.tryParse(v)), ), ), ], ), ); } }