Flutter 无法在 EditableText 中选择、复制或粘贴

伊库里

我正在尝试在 Flutter 中使用可编辑文本小部件,但我无法选择、复制、剪切和粘贴它不起作用,我不知道为什么会发生这种情况我已启用与选择和复制粘贴相关的所有内容,但它仍然不起作用

    class EditProfile extends StatefulWidget {
  @override
  _EditProfileState createState() => _EditProfileState();
}

class _EditProfileState extends State<EditProfile> {
  var _controller = TextEditingController();
  TextSelectionControls _mainContentSelectionController;
  @override


  Widget _backButton() {
    return InkWell(
      onTap: () {
        Navigator.pop(context);
      },
      child: Container(
        padding: EdgeInsets.symmetric(horizontal: 10),
        child: Row(
          children: <Widget>[
            Icon(
              Icons.clear,
              size: 30.0,
              color: Color(0xff8729e6),
            )
          ],
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: SingleChildScrollView(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Container(
                color: Colors.white,
                child: EditableText(
                  controller: _controller,
                  toolbarOptions: ToolbarOptions(
                    paste: true,
                    copy: true,
                    selectAll: true,
                  ),
                  readOnly : false,
                  focusNode:  FocusNode(),
                  cursorColor: Colors.blue,
                  style: TextStyle(
                      color: Colors.black
                  ),
                  keyboardType: TextInputType.text,
                  autocorrect: false,
                  autofocus: false,
                  backgroundCursorColor: Colors.red,
                  maxLines: 10,
                  minLines: 1,
                  enableInteractiveSelection: true,
                  selectionColor: Colors.red,
                  selectionControls: _mainContentSelectionController,

                ),
              )
            ],
          )
        ),
      ),
    );
  }
}

我希望这段代码足够了,如果您希望我提供更多代码或者您有任何疑问,请告诉我,谢谢!

杰伊·丹加尔

尝试可选文本而不是简单的文本小部件。更多信息在这里

您可以使用 TextField 而不是可编辑文本,此代码现在可以使用。

import 'package:flutter/material.dart';

class EditProfile extends StatefulWidget {
  @override
  _EditProfileState createState() => _EditProfileState();
}

class _EditProfileState extends State<EditProfile> {
  var _controller = TextEditingController();
  TextSelectionControls _mainContentSelectionController;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: SingleChildScrollView(
            child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Container(
              height: MediaQuery.of(context).size.height * 0.1,
              color: Colors.white,
              child: TextField(
                controller: _controller,
                toolbarOptions: ToolbarOptions(
                  paste: true,
                  cut: true,
                  copy: true,
                  selectAll: true,
                ),
                readOnly: false,
                focusNode: FocusNode(),
                cursorColor: Colors.blue,
                style: TextStyle(color: Colors.black),
                keyboardType: TextInputType.text,
                autocorrect: false,
                autofocus: false,
                maxLines: 10,
                minLines: 1,
                enableInteractiveSelection: true,
              ),
            )
          ],
        )),
      ),
    );
  }
}

根据这个答案,EditableText 很少使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章