2016-08-11 103 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

正如你問的那樣,你不知道從哪裏開始,我的回答很好。 –