如何在Flutter应用程序中编辑文本?

时间:2019-08-04 17:36:51

标签: flutter

我想显示一个段落,一旦用户选择了该段落的一部分,他就可以通过某种方式获得编辑所选文本的选项,并且该字符串将更改并替换旧文本,请告诉我是否可行。

我已经找到了flutter_selectext插件,但是在示例中没有显示它是否可以编辑文本或将文本提供给小部件的字符串,它只是表明它可以复制我不能使用的

1 个答案:

答案 0 :(得分:0)

我相信您想像Android一样拥有EditText的功能。我之前也有类似的问题。解决方法如下。在State中定义TextEditingController。 您可以在InitState中进行初始化。您可以使用侦听器来控制更多文本(例如保存以前的旧文本)

class _ProfileEditPageState extends State<ProfileEditPage> {

  TextEditingController nameController;
  .. }


 @override
 void initState() {
 nameController = TextEditingController();
 super.initState();
 }

这是在小部件中实现的方式。

              Padding(
                padding: const EdgeInsets.only(right: 50),
                child: TextField(
                  autofocus: false,
                  decoration: InputDecoration(
                    disabledBorder: OutlineInputBorder(
                        borderRadius:
                            BorderRadius.all(Radius.circular(5.0)),
                        borderSide: BorderSide(color: Colors.transparent)),
                    focusedBorder: OutlineInputBorder(
                        borderRadius:
                            BorderRadius.all(Radius.circular(5.0)),
                        borderSide: BorderSide(color: Colors.blue)),
                    border: InputBorder.none,
                  ),
                  controller: nameController
                    ..text = _userProfileData.background, //this is your text
                ),
              ),