import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; class TextParam extends StatelessWidget { final String title; final String? description; final String? initial; final Function(String v) onChanged; TextParam(this.title, this.initial, this.onChanged, {this.description}); @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(8.0), child: Row( children: [ Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(title), if (description != null) Text( description!, style: TextStyle(fontSize: 12), ) ], ), SizedBox( width: 2, ), Expanded( child: TextField( controller: TextEditingController(text: initial), onChanged: onChanged, ), ), ], ), ); } }