大写文本字段,但仅当我在颤动中单击按钮时

capitalize a textfield but only when I click on a button in flutter

我需要能够在单击按钮时将整个文本字段大写并在其中写入,但是当我一直在互联网上搜索解决方案时我找不到解决方案,请帮助。

您所要做的就是将 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();
          },
        ),
      ],
    );
  }
}