TextField constructor

TextField({
  1. Key? key,
  2. String initialText = '',
  3. String? value,
  4. int? cursorPosition,
  5. TextEditingController? controller,
  6. bool multiline = false,
  7. Style style = Style.empty,
  8. Style cursorStyle = const Style(modifiers: Modifier.reverse),
  9. String placeholder = '',
  10. Style placeholderStyle = const Style(foreground: Color(128, 128, 128)),
  11. bool focused = true,
  12. Map<TextFieldShortcut, TextFieldAction>? customShortcuts,
})

Creates a TextField.

Implementation

TextField({
  super.key,
  String initialText = '',
  String? value,
  int? cursorPosition,
  TextEditingController? controller,
  this.multiline = false,
  this.style = Style.empty,
  this.cursorStyle = const Style(modifiers: Modifier.reverse),
  this.placeholder = '',
  this.placeholderStyle = const Style(foreground: Color(128, 128, 128)),
  this.focused = true,
  this.customShortcuts,
}) : controller =
         controller ?? TextEditingController(text: value ?? initialText) {
  if (cursorPosition != null && controller == null) {
    final text = value ?? initialText;
    final clampedPos = cursorPosition.clamp(0, text.characters.length);
    this.controller.value = TextEditingValue(
      text: text,
      selection: TextSelection.collapsed(
        offset: clampedPos,
        column: clampedPos,
      ),
    );
  }
}