-
-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请问如何实现 KeyCodes.BACKSPACE 键的回退删除一个字符或表情? #104
Comments
|
用这个方法删除emoji,控件会报错 |
这个方法对于删除emoji也是有问题的,如果字符串全部都是emoji的话需要删除两次才能正确展示删除后的字符 |
demo 会出现这个问题吗? |
是的
|
|
你这个是emoji 呀。。不是你自己定义的表情文字。。也用不上这个实现。 |
|
实际使用场景是无键盘情况下想实现一个删除键,发现删除emoji就不适用了 |
emoji 是 特殊的字符,请参考 dart-lang/sdk#35798 自行处理 |
我在 extended_text 里面也处理过这个问题 fluttercandies/extended_text@c4c4969 |
😎 |
原本我想的是通过参考Runes:last方法来处理
正常删除emoji代码
|
空了可以pr下 |
@zmtzawqlp @Xiaobai-1024 @lifelikejuly 2.自定义
|
你的问题应该是没有给 emoji text 加deleteall 等于 true |
String new_text = text.substring(0, text.length - 1);
e_text_editing_controller.value = te_value.copyWith(
text: new_text,
selection: te_value.selection.copyWith(
baseOffset: start,
extentOffset: start
)
);
我写了一个回退删除的函数,但是和我写的EmojiText起了冲突,因为看起来是一个图标,其实actualText的值为:[微笑]
这样就会导致删除的是一个 "]"符号,而没有删除一个EmojiText
我试着去找了一些能够发送键盘指令的代码,但也是一头雾水(不知道如何使用)
BasicMessageChannel keyEvent = BasicMessageChannel(
'flutter/keyevent',
JSONMessageCodec(),
);
keyEvent.send(KeyCodes.BACKSPACE);
The text was updated successfully, but these errors were encountered: