如何在 Flutter (Web) 的文本字段中丢弃退格键按下事件?

How to discard Backspace key press event in Textfield in Flutter (Web)?

我正在创建一个 Flutter 网络应用程序。要求是在某些情况下,我必须阻止用户在文本字段中键入一些文本时按退格键(或删除键)。我试过 RawKeyboardListenerTextEditingController。他们帮我监听键盘事件,但我无法修改或丢弃键盘事件。

RawKeyboardListener(
    focusNode: focusNode,
    onKey: handleOnKeyEvent,
    child: TextField(
        textAlignVertical: TextAlignVertical.top,
        textInputAction: TextInputAction.newline,
        controller: textEditingController,
        decoration: InputDecoration(
            border: InputBorder.none, hintText: 'Start typing here'),
        keyboardType: TextInputType.multiline,
        minLines: null,
        maxLines: null,
        expands: true,
        onChanged: (value) {
           //print('text = $value');
           handleUserInput(value);
         },
      ),
  ),

如何使用 TextController 检查文本是否已退格?

这样用户仍然可以输入新字符,但无法删除它们

late String initialText;
late TextEditingController _textController;

void initState() {
  initialText = "MyText";
  _textController = TextEditingController(text: initialText);
  super.initState();
}

并在 build() 内:

TextFormField(
  controller: _textController,
  onChanged: (input) {
    if (_textController.text.length < initialText.length) {
      _textController.text = initialText;
    } else {
      setState(() {
        initialText = _textController.text;
      });
    }
  },
)