做大写
您必须使用textCapitalization: TextCapitalization.characters
始终输入大写字母
textCapitalization
:TextField 提供了将用户输入的文本大写的选项。
用途TextCapitalization.characters
:将句子中的所有字符大写。
TextField(
textCapitalization: TextCapitalization.characters,
),
去抖动
我们可以轻松地对输入流进行去抖动处理。使用 Timer 创建 Debouncer 类
import 'package:flutter/foundation.dart';
import 'dart:async';
class Debouncer {
final int milliseconds;
VoidCallback action;
Timer _timer;
Debouncer({ this.milliseconds });
run(VoidCallback action) {
if (_timer != null) {
_timer.cancel();
}
_timer = Timer(Duration(milliseconds: milliseconds), action);
}
}
声明和触发
final _debouncer = Debouncer(milliseconds: 500);
onTextChange(String text) {
_debouncer.run(() => print(text));
}
Debounce 通过在给定的持续时间内将所有输入事件“搁置”来减轻服务器的压力。
我们可以根据自己的喜好控制去抖动持续时间(500ms 是一个很好的默认值)。