1.Simditor组件的github地址:https://github.com/mycolorway/simditor 网址:http://simditor.tower.im/

2.在util里边新建rich-editor文件夹,里边新建index.jsx

  1. import React from 'react';
  2. import Simditor from 'simditor';
  3. import 'simditor/styles/simditor.scss';
  4. import './index.scss';
  5. // 通用的富文本编辑器,依赖jquery
  6. class RichEditor extends React.Component{
  7.     constructor(props){
  8.         super(props);
  9.     }
  10.     componentDidMount(){
  11.         this.loadEditor();
  12.     }
  13.  
  14.     loadEditor(){
  15.           let element=this.refs["textarea"];
  16.           this.simditor=new Simditor({
  17.               textarea: $(element),
  18.               defaultValue: this.props.placeholder || "请输入内容",
  19.               upload: {
  20.                 url : '/manage/product/richtext_img_upload.do',
  21.                 defaultImage : '',
  22.                 fileKey : 'upload_file'
  23.             }
  24.           });
  25.           //上传数据
  26.           this.bindEditorEvent();
  27.     }
  28.     //初始化富文本编辑器的事件
  29.     bindEditorEvent(){
  30.        this.simditor.on("valuechanged", e => {
  31.            this.props.onValueChange(this.simditor.getValue())
  32.        })
  33.     }
  34.     render(){
  35.         return (
  36.            <div className="rich-editor">
  37.                <textarea ref="textarea"></textarea>
  38.            </div>
  39.         );
  40.     }
  41. }
  42.  
  43. export default RichEditor;

3.在save.jsx里边使用RichEditor组件

  1. import RichEditor from 'util/rich-editor/index.jsx'
  2. <div className="form-group">
  3.                         <label className="col-md-2 control-label">商品详情</label>
  4.                         <div className="col-md-10">
  5.                            <RichEditor onValueChange={(value) => {this.onDetailValueChange(value)}}/>
  6.                         </div>
  7.                     </div>

4.在RichEditor里边定义valuechanged事件,监听文本编辑器里边内容的变化,当内容变化时触发 valuechange事件,调用onDetailValueChange函数,传入新的内容,更新state里边detail的值

  1. //富文本编辑器
  2.   onDetailValueChange(value){
  3.       this.setState({
  4.           detail : value
  5.       })
  6.   }

React后台管理系统-rich-editor组件的更多相关文章

  1. React后台管理系统-添加商品组件

    引入了CategorySelector 二级联动组件.FileUploader图片上传组件和RichEditor富文本编辑组件 import React from 'react'; import MU ...

  2. React后台管理系统- rc-pagination分页组件封装

    1.用户列表页面使用的rc-pagination分页组件 Github地址: https://github.com/react-component/pagination 2.安装 cnpm insta ...

  3. React后台管理系统-首页Home组件

    1.Home组件要显示用户总数.商品总数和订单总数,数据请求后端的 /manage/statistic/base_count.do接口,返回的是 this.state = {            u ...

  4. 《React后台管理系统实战 :一》:目录结构、引入antd、引入路由、写login页面、使用antd的form登录组件、form前台验证、高阶函数/组件

    实战 上接,笔记:https://blog.csdn.net/u010132177/article/details/104150177 https://gitee.com/pasaulis/react ...

  5. 【共享单车】—— React后台管理系统开发手记:主页面架构设计

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  6. react后台管理系统路由方案及react-router原理解析

        最近做了一个后台管理系统主体框架是基于React进行开发的,因此系统的路由管理,选用了react-router(4.3.1)插件进行路由页面的管理配置. 实现原理剖析 1.hash的方式   ...

  7. 《React后台管理系统实战 :三》header组件:页面排版、天气请求接口及页面调用、时间格式化及使用定时器、退出函数

    一.布局及排版 1.布局src/pages/admin/header/index.jsx import React,{Component} from 'react' import './header. ...

  8. 《React后台管理系统实战 :二》antd左导航:cmd批量创建子/目录、用antd进行页面布局、分离左导航为单独组件、子路由、动态写左导航、css样式相对陷阱

    一.admin页面布局及路由创建 0)cmd批量创建目录及子目录 //创建各个目录,及charts和子目录bar md home category product role user charts\b ...

  9. 【共享单车】—— React后台管理系统开发手记:UI菜单各个组件使用(Andt UI组件)

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  10. 【共享单车】—— React后台管理系统开发手记:AntD Form基础组件

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

随机推荐

  1. 任务计划cron

    在linux中,任务计划分俩:未来时间只执行一次和周期性执行 at:未来时间只执行一次 -V 显示版本信息 -l: 列出指定队列中等待运行的作业:== atq -d: 删除指定的作业:== atrm ...

  2. python import error:no module named yaml

    解决办法: python2 : sudo apt-get install python-yaml python3 : sudo apt-get install python3-yaml

  3. Java集合——集合框架Set接口

    1.Set接口 一个不包含重复元素的collecyion.更确切的讲,set不包含满足e1.equals(e2)的元素e1和e2,并且最多包含一个null元素. 2.HashSet 类实现Set接口, ...

  4. 海量日志收集利器 —— Flume

    Flume 是什么? Flume是一个分布式.可靠.和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的 ...

  5. 屏蔽“您目前使用的Discuz!程序有新版本发布,请及时升级!”提示

    在/discuz/source/admincp目录下找到文件:admincp_main.php 找到第49行: if($_G['uid'] && $_G['member']['allo ...

  6. 在项目中导入import javax.servlet 出错解决办法

    我们有时会把别人的项目copy到自己这里进行二次开发或者参考学习,有的时候会发生下图的错误,即eclipse项目里我们导入的项目里提示HttpServletRequest 不能引用,会伴随头疼的小红叉 ...

  7. 使用AlarmManager定期执行工作

    新建一个Service来模拟后台执行的程序,PollingService.java: package com.ryantang.rtpollingdemo; import android.app.No ...

  8. java中的递归思想及应用

    递归就是自己调自己,最需要注意的就是结束条件,否则可能就是死循环,导致内存溢出 public T a(Object x,Object y) { if(条件true) { a(x1,y1); } els ...

  9. shiro web环境初始化过程

    在web工程中使用shiro的时候需要配置一个shiro的listenser(EnvironmentLoaderListener)和一个shiro的filter(ShiroFilter). liste ...

  10. VS2017无法进入断点调试且移动到breakpoint上的时候报错“breakpoint will not currently be hit. the source code is different from original version. ”

    我尝试了网上的很多其他办法也翻阅了很多外网资源,这些方法并不能解决我的问题 当然我非常震惊正当我尝试着在stack overflow上发表评论交流一下究竟如何解决的时候,却发现有方法灵验了 ,但是每个 ...