Все, что вам нужно сделать, это установить TextEditingController.text
для его содержимого, но с вызовом .toUpperCase()
.
controller.text = controller.text.toUpperCase();
Вот пример приложения (которое вы можете попробовать на DartPad ):
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: MyWidget(),
),
);
}
}
class MyWidget extends StatelessWidget {
final _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
TextField(
controller: _controller,
),
RaisedButton(
child: Text('toUpperCase()'),
onPressed: () {
_controller.text = _controller.text.toUpperCase();
},
),
],
);
}
}