The issue is caused in Safari.
When I choose Chinese, I can't enter.
For example, I enter "好的(haode)"

OMG! I got same problem.
me too! Ios has the same problem #2468

@zjfjiayou
I've been working on these Chinese input issues for a few days. There're actually two issues when it comes to typing Chinese in safari browser (Mac OS 10.12.6, Safari 10.1.2).
The first issue: editor doesn't insert Chinese character after word selection, i.e. it doesn't insert anything when composition is over. For browsers like Chrome without support for input events level 2, editor would simply call insertText() in onBeforeInput function as an after plugin. But for safari browser, editor decides what to do next depending on event.inputType, it seems the case 'insertFromComposition' is missed at this place. Therefore @hangzz 's solution would do the trick, which makes editor insert composition result.
The second issue: one key stroke inserts two characters when composing Chinese at end of block, which is the issue mentioned above. Seems it has something to do with onSelect after plugin, commenting out the second last line in that function
editor.select(selection) // slate-react/src/plugins/after, onSelect function
makes word composing work, but it invalidates select action of course. I'm stuck at this place to make both select and word composition work. If anyone has any idea to fix this issue, it would be greatly appreciated.
Chinese translation:
Safari 浏览器输入中文两个问题:
Same problem.
MacOS 10.14.1
Safari 12.0.1
Already insert the code
case "insertFromComposition ":
but still got the problem
Insert the code
case "insertFromComposition ":
but the problem cann't be solved completely while some Chinese shows and others don't
事实上这是两个问题。两者的原因都是safari和chrome上触发事件的时机不一致。简单来说,chrome里beforeinput和onselect事件都只会在compositionend之后触发,而safari上,每次keyup都会触发这两个事件。



Hey, thanks for reporting this. I think this is actually a duplicate of https://github.com/ianstormtaylor/slate/issues/2457, so I'm going to close this in favor of that one. Feel free to comment over there with any other info!
@hudk114 也遇到了同样的问题,能不能提供一下完整的gist代码,你那个judgeNeedInsertText方法判断依据是啥?
Most helpful comment
@zjfjiayou