通过convertToRaw(editorState.getCurrentContent())
运行后,我将DraftJS编辑器的内容作为JSON字符串存储在我的数据库中。
数据库中存储内容的示例:
{"blocks": [{"key": "1m9md", "data": {}, "text": "", "type": "unstyled", "depth": 0, "entityRanges": [], "inlineStyleRanges": []}, {"key": "c8gek", "data": {}, "text": "Lorem ipsum dolor sit amet, eu habitasse magna aliquam non et faucibus, aliquet et ante tempus vestibulum pellentesque, ligula curabitur. Eum torquent dapibus est, ac consectetuer integer. Luctus pellentesque ut pellentesque. Libero id lorem bibendum, sed elementum, adipiscing mollis, aenean pellentesque ligula nonummy pellentesque ornare urna, sit a sagittis wisi rhoncus tellus congue. Risus tristique blandit in nascetur, mauris quisque sed erat error integer accumsan, ante facilisi. Libero proin nunc vestibulum tempus, consectetuer aliquam sed velit morbi quis, molestie accumsan in, lacus eu, aliquam odio porta tellus ac. Praesent aliquet.", "type": "unstyled", "depth": 0, "entityRanges": [], "inlineStyleRanges": []}, {"key": "7mv98", "data": {}, "text": "", "type": "unstyled", "depth": 0, "entityRanges": [], "inlineStyleRanges": []}, {"key": "63ck4", "data": {}, "text": "", "type": "unstyled", "depth": 0, "entityRanges": [], "inlineStyleRanges": []}], "entityMap": {}}
现在,当我以HTML格式向用户显示这个内容时,我想检查他们实际输入任何文本的每个部分是否都在DraftJS编辑器中。即使他们将其留空,数据库也会存储:
{"blocks": [{"key": "6n2bu", "data": {}, "text": "", "type": "unstyled", "depth": 0, "entityRanges": [], "inlineStyleRanges": []}], "entityMap": {}}
似乎没有明确的方法以编程方式检查内容的长度(或者根本就存在)。
我正在寻找一种方法来检查内容是否存在,然后再将其转换为HTML并使用React进行呈现。
答案 0 :(得分:1)
为了查看它是否为空。
否则,您可以随时拨打ContentState.getPlainText()以获取全文,然后就可以获得长度。
e.g。 myContent.getPlainText(' ').length