2016-08-11 91 views
1

我正在尝试使用Facebook的Draft-JS框架将编辑器限制为50个字符行。草稿-js:自动换行

达到这个50个字符的限制,当我不想线使用CSS突破,我希望他们真正打破成单独的块。

换行符应该超过50字符(在CSS类似word-wrap: break-word)字前的最后空间发生。

当然,我需要选择留在新行的末尾。

我不知道从哪里开始的这一点。有任何想法吗?

更新: 至于Jiang YD响应的答案,我认为从块的末尾取出文本并用它创建一个新块不是一个好主意。不知道格式化状态将保持多好。我认为解决方案应该使用Modifier.splitBlock,并且可能会进行一些选择操作。

回答

0

这里就是这样

  1. 捕获在handleBeforeInput
  2. 文本输入获取当前选择
  3. 块获得当前块
  4. 的文字做你的断行
  5. 插入与切割文字ContentState
  6. 新块设置新的状态,您的组件
+0

看我的更新。我不认为这是一个好方法。 –

+0

如果你看看'splitBlock'工具,它会插入新块。好的,也许你可以节省大约20行代码,但是像块类型那样失去了对新块的一些控制。 –

+0

正如你问的那样,你不知道从哪里开始,我的回答很好。 –