颤振,如何复制多步输入的子范围

问题描述

从TextField复制文本时,如果是多步输入(组合模式),我应该如何复制子范围?

例如下面的代码

import 'package:Flutter/material.dart';

class SampleWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: HomeWidget());
  }
}

class HomeWidget extends StatelessWidget {
  TextEditingController _controller1 = TextEditingController();
  FocusNode _focusNode1 = FocusNode();
  TextEditingController _controller2 = TextEditingController();
  FocusNode _focusNode2 = FocusNode();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
          child: Column(
            children: [
              TextField(
                focusNode: _focusNode1,controller: _controller1,),TextField(
                focusNode: _focusNode2,controller: _controller2,RaisedButton(
                  child: Text("copy text"),onpressed: () {
                    if(_focusNode1.hasFocus) {
                      _controller2.text = _controller1.text;
                      _focusNode1.unfocus();
                      _focusNode2.requestFocus();
                    } else {
                      _controller1.text = _controller2.text;
                      _focusNode2.unfocus();
                      _focusNode1.requestFocus();
                    }
                  }),],);
  }
}

void main() {
  runApp(SampleWidget());
}

可以在 TextField 中复制英文“abcd”文本。

enter image description here

但在多步输入(组合模式)的情况下,无法复制文本。

韩语是一种组合语言,这意味着诸如“사”、“구”和“거”之类的字符通常可以写成“ㄱ”+“ㅏ”、“ㄱ”+“ㅜ”和“ㄱ”+ 'ㅓ'。

然而,代码移动到'ㄱ'之后的下一个字符范围。 (我希望代码一直保留到‘ㄱ’与‘ㅏ’组合)

enter image description here

我该如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)