当前位置:首页 > React

使用react-quill如何获取文本

2026-01-25 22:52:32React

获取 React-Quill 编辑器文本内容

使用 react-quill 获取编辑器中的文本内容可以通过以下几种方法实现:

方法一:通过 onChange 事件获取

在组件中绑定 onChange 事件处理器,当编辑器内容变化时获取当前值:

使用react-quill如何获取文本

import React, { useState } from 'react';
import ReactQuill from 'react-quill';

function Editor() {
  const [content, setContent] = useState('');

  const handleChange = (value) => {
    setContent(value);
    console.log('当前内容:', value); // 获取纯文本
  };

  return <ReactQuill value={content} onChange={handleChange} />;
}

方法二:通过 ref 直接访问编辑器实例

使用 ref 获取编辑器实例后,调用其 API 获取内容:

使用react-quill如何获取文本

import React, { useRef } from 'react';
import ReactQuill from 'react-quill';

function Editor() {
  const quillRef = useRef(null);

  const getText = () => {
    const editor = quillRef.current.getEditor();
    console.log('HTML内容:', editor.root.innerHTML);
    console.log('纯文本:', editor.getText());
  };

  return (
    <>
      <ReactQuill ref={quillRef} />
      <button onClick={getText}>获取内容</button>
    </>
  );
}

方法三:获取 Delta 格式内容

需要获取操作记录时可以使用 Delta 格式:

const getDeltaContent = () => {
  const editor = quillRef.current.getEditor();
  console.log('Delta内容:', editor.getContents());
};

注意事项

  1. 如果只需要纯文本,建议使用 editor.getText() 而非直接获取 HTML
  2. 内容包含 HTML 标签时,editor.root.innerHTML 会返回带格式的 HTML 字符串
  3. 在表单提交时,直接使用绑定的状态变量即可获取最新内容
  4. 动态设置内容时需通过 value 属性而非直接操作 DOM

内容处理示例

获取内容后去除 HTML 标签的纯文本处理方法:

const getPlainText = (html) => {
  const temp = document.createElement('div');
  temp.innerHTML = html;
  return temp.textContent || temp.innerText || '';
};

标签: 文本react
分享给朋友:

相关文章

react native如何启动

react native如何启动

如何启动 React Native 项目 安装 Node.js 和 npm 确保已安装 Node.js(建议版本 16 或更高)和 npm(Node.js 自带)。可通过以下命令检查版本: node…

如何评价react native

如何评价react native

React Native 的优势 跨平台开发效率高:基于 JavaScript 和 React 语法,可同时开发 iOS 和 Android 应用,减少重复代码量。性能接近原生:通过原生组件渲染,性能…

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一…

如何创建react

如何创建react

创建React项目的步骤 使用Create React App工具快速搭建React项目。确保已安装Node.js(版本需≥14.0.0)和npm(版本需≥5.6)。 打开终端或命令行工具,运行以下…

如何提高react

如何提高react

优化性能 使用React.memo对组件进行记忆化处理,避免不必要的重新渲染。对于类组件,可以使用PureComponent来达到类似效果。 利用useMemo缓存计算结果,避免重复计算。对于函数或…