react-черновик-wysiwyg — Предотвращение перетаскивания текста, если максимальная длина превышает

#reactjs #draftjs #react-draft-wysiwyg

Вопрос:

Есть ли способ предотвратить перетаскивание текста из внешнего редактора, если длина текста редактора с перетаскиваемым текстом превышает максимальную длину. Я пытался использовать событие handleDrop, но оно принимает параметры (SelectionState, dataTransfer, isInternal). Я пытался получить текст из объекта SelectionState, но не смог добиться успеха

Ответ №1:

Я не уверен handlePastedText , работает ли это с перетаскиванием, но handleBeforeInput должно сработать.

Ответ №2:

Я решил вышеуказанную проблему с помощью события onEditorStateChange

  const onEditorStateChange = (editorState) => {
    const text =  editorState.getCurrentContent().getPlainText('')
    const lines = text ? text.split('n') : 0

    if (lines.length <= 15 amp;amp; text.length <= charLimit) {
      setEditorState(editorState)
    } else {
      return 'handled'
    }
  }