использовать текстовое поле с заглавной буквы, но только когда я нажимаю на кнопку во флаттере - PullRequest
0 голосов
/ 07 апреля 2020

Мне нужно иметь возможность использовать все текстовое поле с прописными буквами, когда я нажимаю на кнопку, однако, когда я продолжал искать в inte rnet решение, которое не смог найти, пожалуйста, помогите.

1 Ответ

0 голосов
/ 07 апреля 2020

Все, что вам нужно сделать, это установить 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();
          },
        ),
      ],
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...