| 
				
			 | 
			
			
				@@ -1,5 +1,114 @@ 
			 | 
		
	
		
			
			| 
				1
			 | 
			
				1
			 | 
			
			
				 # Comment 
			 | 
		
	
		
			
			| 
				2
			 | 
			
				
			 | 
			
			
				-通用评论系统 
			 | 
		
	
		
			
			| 
				
			 | 
			
				2
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3
			 | 
			
			
				+通用评论系统及编辑器 
			 | 
		
	
		
			
			| 
				
			 | 
			
				4
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				5
			 | 
			
			
				+`version 0.2.0` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				6
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+```js 
			 | 
		
	
		
			
			| 
				
			 | 
			
				8
			 | 
			
			
				+import Comment, { Editor } from 'comment'; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				9
			 | 
			
			
				+``` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				10
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				11
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				12
			 | 
			
			
				+## Props 
			 | 
		
	
		
			
			| 
				
			 | 
			
				13
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+#### Comment 
			 | 
		
	
		
			
			| 
				
			 | 
			
				15
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				16
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				17
			 | 
			
			
				+| props | type   | default  | required | description | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				18
			 | 
			
			
				+| ----- | -------| -------- | -------- | ----------- | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+| type  | number |          | true     | 评论的 type  | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				20
			 | 
			
			
				+| businessId | string |     | true     | 评论的 business id| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				21
			 | 
			
			
				+| API  | string | http://api.links123.net/comment/v1 | false | API 前缀| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+| showList | boolean |   true  | false     | 是否显示评论列表| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				23
			 | 
			
			
				+| showEditor | boolean |   true  | false     | 是否显示评论输入框| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				24
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				25
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				26
			 | 
			
			
				+##### Editor 
			 | 
		
	
		
			
			| 
				
			 | 
			
				27
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				28
			 | 
			
			
				+| props | type   | default  | required | description | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				29
			 | 
			
			
				+| ----- | -------| -------- | -------- | ----------- | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				30
			 | 
			
			
				+| rows  | number |       5   | false     | 编辑器的高度。默认情况下,回复评论/回复回复的编辑器会比评论的编辑器高度小一行 | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				31
			 | 
			
			
				+| placeholder | string |  说点什么吧...   | false     | 评论的中的提示文字| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				32
			 | 
			
			
				+| showEmoji | boolean |   true  | false     | 是否显示 Toolbar 中表情工具| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				33
			 | 
			
			
				+| showUpload | boolean |   true  | false     | 是否显示 Toolbar 中 上传图片工具| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				34
			 | 
			
			
				+| value | string |     | false     | 编辑器的值。如果设置了改属性,则编辑器变为受控组件,需要父组件来维护 value| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+| onChange | function(value) |     | false     | 编辑器内容改变的回调函数| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				36
			 | 
			
			
				+| onSubmit | function(value)  |     | false     | 点击提交按钮的回调函数| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				37
			 | 
			
			
				+| btnSubmitText | string  | 发表    | false     | 提交按钮的文字| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				38
			 | 
			
			
				+| btnLoading | boolean  | false    | false     | 按钮是否正在加载中| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				39
			 | 
			
			
				+| btnDisable | boolean  | false    | false     | 按钮是否禁用| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				40
			 | 
			
			
				+| button | ReactNode  |     | false     | 按钮组件。如果上面几个 btn 相关的属性都无法满足要求,则可以使用 button 来自定义提交编辑器值的按钮| 
			 | 
		
	
		
			
			| 
				
			 | 
			
				41
			 | 
			
			
				+| emojiToolIcon | ReactNode  |     | false     | Toolbar 中表情的图标 | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+| imageToolIcon | ReactNode  |     | false     | Toolbar 中上传文件的图标 | 
			 | 
		
	
		
			
			| 
				
			 | 
			
				43
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				44
			 | 
			
			
				+### 什么时候不要使用 value/onChange/onSubmit 
			 | 
		
	
		
			
			| 
				
			 | 
			
				45
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				46
			 | 
			
			
				+如果将 `comment` 作为通用评论组件,则不要使用 `value` `onChange` `onSubmit`。因为组件内部,实现了通用评论的业务逻辑。 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				48
			 | 
			
			
				+**可以使用 value/onChange/onSubmit 的情况:** 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+- 单独使用其中的 `Editor`。即 `import { Editor } from 'comment'` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				51
			 | 
			
			
				+- 不需要展示评论列表,即设置 `showList: false` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				53
			 | 
			
			
				+```jsx 
			 | 
		
	
		
			
			| 
				
			 | 
			
				54
			 | 
			
			
				+// 单独使用 Editor 
			 | 
		
	
		
			
			| 
				
			 | 
			
				55
			 | 
			
			
				+<Editor value="xxx" onChange={(v) => console.log(v)} /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				57
			 | 
			
			
				+// 不需要展示评论列表 
			 | 
		
	
		
			
			| 
				
			 | 
			
				58
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+<Comment type={1}  showList={false}> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+  <Editor value="xxx" onChange={(v) => console.log(v)} /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				61
			 | 
			
			
				+</Comment> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				62
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				63
			 | 
			
			
				+``` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				64
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+### button  
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+如果使用 `button`,则 `btnLoading` `btnDisable` `btnSubmitText` 都会失效。因为这些属性是针对于编辑器默认的提交按钮设置的。 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+所以如果要提交编辑器的值,需要自己在 `Button` 组件上实现提交功能。编辑器的值,可以通过 `onChange` 方法获取到。 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+如果使用了 `button` 属性,并且没有为其设置 `onClick` 方法,则 `onClick` 默认为发布评论,即点击按钮会发表评论: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+```jsx 
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+// 如下代码所示 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+// 点击“自定义按钮”的时候,会发表评论。这是由 Comment 组件内部实现的业务逻辑 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+<Comment type={1} businessId="test" showList={false}> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				77
			 | 
			
			
				+  <Editor  
			 | 
		
	
		
			
			| 
				
			 | 
			
				78
			 | 
			
			
				+    button={( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				79
			 | 
			
			
				+      <Button 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+        type="primary" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+        ghost 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+      > 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+        自定义按钮 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+      </Button> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+    )} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				86
			 | 
			
			
				+  /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				87
			 | 
			
			
				+</Comment> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+``` 
			 | 
		
	
		
			
			| 
				
			 | 
			
				89
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				+如果使用了 `button` 属性,并且设置了 `onClick` 方法,则会覆盖默认的 `onClick` 方法: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				+```jsx 
			 | 
		
	
		
			
			| 
				
			 | 
			
				93
			 | 
			
			
				+// 下面的代码,点击的时候,不会提交评论 
			 | 
		
	
		
			
			| 
				
			 | 
			
				94
			 | 
			
			
				+// 而是会输出 state 的值( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				+// 即编辑器的值,因为 onChange 将编辑器输入的值通过回调函数传递给了父组件) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				+<Comment type={1} businessId="test" showList={false}> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+  <Editor  
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+    button={( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+      <Button 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+        type="primary" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				101
			 | 
			
			
				+        ghost 
			 | 
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				+        value={this.state.value} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				103
			 | 
			
			
				+        onChange={(value) => this.setState({ value })} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				104
			 | 
			
			
				+        onClick={() => console.log(this.state.value)} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+      > 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+        自定义按钮 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+      </Button> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+    )} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				109
			 | 
			
			
				+  /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				+</Comment> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				+``` 
			 | 
		
	
		
			
			| 
				3
			 | 
			
				112
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				4
			 | 
			
				113
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				5
			 | 
			
				114
			 | 
			
			
				 ## 使用 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -30,7 +139,7 @@ render() { 
			 | 
		
	
		
			
			| 
				30
			 | 
			
				139
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				31
			 | 
			
				140
			 | 
			
			
				 ``` 
			 | 
		
	
		
			
			| 
				32
			 | 
			
				141
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				33
			 | 
			
				
			 | 
			
			
				-**注意:最好,还需要在 HTML 文件里面引入阿里云 OSS SDK `<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk.min.js"></script>`** 
			 | 
		
	
		
			
			| 
				
			 | 
			
				142
			 | 
			
			
				+**注意:最后,还需要在 HTML 文件里面引入阿里云 OSS SDK `<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk.min.js"></script>`** 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				143
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				35
			 | 
			
				144
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				36
			 | 
			
				145
			 | 
			
			
				 ### 作为静态文件引入 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -43,7 +152,7 @@ const props = { 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				152
			 | 
			
			
				   type: 1, 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				153
			 | 
			
			
				   businessId: "1", 
			 | 
		
	
		
			
			| 
				45
			 | 
			
				154
			 | 
			
			
				   API: "http://api.links123.net/comment/v1", 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				
			 | 
			
			
				-  showList: false 
			 | 
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				+  showList: true 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				156
			 | 
			
			
				 }; 
			 | 
		
	
		
			
			| 
				48
			 | 
			
				157
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				49
			 | 
			
				158
			 | 
			
			
				 const editorProps = { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -93,61 +202,6 @@ $ yarn build 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				202
			 | 
			
			
				 </html> 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				203
			 | 
			
			
				 ``` 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				204
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				96
			 | 
			
				
			 | 
			
			
				-## Props 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				
			 | 
			
			
				-#### Comment 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				101
			 | 
			
				
			 | 
			
			
				-| props | type   | default  | required | description | 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				
			 | 
			
			
				-| ----- | -------| -------- | -------- | ----------- | 
			 | 
		
	
		
			
			| 
				103
			 | 
			
				
			 | 
			
			
				-| type  | number |          | true     | 评论的 type  | 
			 | 
		
	
		
			
			| 
				104
			 | 
			
				
			 | 
			
			
				-| businessId | string |     | true     | 评论的 business id| 
			 | 
		
	
		
			
			| 
				105
			 | 
			
				
			 | 
			
			
				-| API  | string | http://api.links123.net/comment/v1 | false | API 前缀| 
			 | 
		
	
		
			
			| 
				106
			 | 
			
				
			 | 
			
			
				-| showList | boolean |   true  | false     | 是否显示评论列表| 
			 | 
		
	
		
			
			| 
				107
			 | 
			
				
			 | 
			
			
				-| showEditor | boolean |   true  | false     | 是否显示评论输入框| 
			 | 
		
	
		
			
			| 
				108
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				109
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				110
			 | 
			
				
			 | 
			
			
				-##### Editor 
			 | 
		
	
		
			
			| 
				111
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				112
			 | 
			
				
			 | 
			
			
				-| props | type   | default  | required | description | 
			 | 
		
	
		
			
			| 
				113
			 | 
			
				
			 | 
			
			
				-| ----- | -------| -------- | -------- | ----------- | 
			 | 
		
	
		
			
			| 
				114
			 | 
			
				
			 | 
			
			
				-| rows  | number |       5   | false     | 编辑器的高度。默认情况下,回复评论/回复回复的编辑器会比评论的编辑器高度小一行 | 
			 | 
		
	
		
			
			| 
				115
			 | 
			
				
			 | 
			
			
				-| placeholder | string |  说点什么吧...   | false     | 评论的中的提示文字| 
			 | 
		
	
		
			
			| 
				116
			 | 
			
				
			 | 
			
			
				-| showEmoji | boolean |   true  | false     | 是否显示 Toolbar 中表情工具| 
			 | 
		
	
		
			
			| 
				117
			 | 
			
				
			 | 
			
			
				-| showUpload | boolean |   true  | false     | 是否显示 Toolbar 中 上传图片工具| 
			 | 
		
	
		
			
			| 
				118
			 | 
			
				
			 | 
			
			
				-| value | string |     | false     | 编辑器的值。如果设置了改属性,则编辑器变为受控组件,需要父组件来维护 value| 
			 | 
		
	
		
			
			| 
				119
			 | 
			
				
			 | 
			
			
				-| onChange | function(value) |     | false     | 编辑器内容改变的回调函数| 
			 | 
		
	
		
			
			| 
				120
			 | 
			
				
			 | 
			
			
				-| onSubmit | function(value)  |     | false     | 点击提交按钮的回调函数| 
			 | 
		
	
		
			
			| 
				121
			 | 
			
				
			 | 
			
			
				-| btnSubmitText | string  | 发表    | false     | 提交按钮的文字| 
			 | 
		
	
		
			
			| 
				122
			 | 
			
				
			 | 
			
			
				-| btnLoading | boolean  | false    | false     | 按钮是否正在加载中| 
			 | 
		
	
		
			
			| 
				123
			 | 
			
				
			 | 
			
			
				-| btnDisable | boolean  | false    | false     | 按钮是否禁用| 
			 | 
		
	
		
			
			| 
				124
			 | 
			
				
			 | 
			
			
				-| button | ReactNode  |     | false     | 按钮组件。如果上面几个 btn 相关的属性都无法满足要求,则可以使用 button 来自定义提交编辑器值的按钮| 
			 | 
		
	
		
			
			| 
				125
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				126
			 | 
			
				
			 | 
			
			
				-#### button  
			 | 
		
	
		
			
			| 
				127
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				128
			 | 
			
				
			 | 
			
			
				-如果使用 `button`,则 `onSubmit` `btnLoading` `btnDisable` `btnSubmitText` 都会失效。因为这些属性是针对于编辑器默认的提交按钮设置的。 
			 | 
		
	
		
			
			| 
				129
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				130
			 | 
			
				
			 | 
			
			
				-所以如果要提交编辑器的值,需要自己在 `Button` 组件上实现提交功能。编辑器的值,可以通过 `onChange` 方法获取到。 
			 | 
		
	
		
			
			| 
				131
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				132
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				133
			 | 
			
				
			 | 
			
			
				-用法示例: 
			 | 
		
	
		
			
			| 
				134
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				135
			 | 
			
				
			 | 
			
			
				-```jsx 
			 | 
		
	
		
			
			| 
				136
			 | 
			
				
			 | 
			
			
				-<App type={1} businessId="test"> 
			 | 
		
	
		
			
			| 
				137
			 | 
			
				
			 | 
			
			
				-  <Editor 
			 | 
		
	
		
			
			| 
				138
			 | 
			
				
			 | 
			
			
				-    // 将编辑器的值保存在 state 中 
			 | 
		
	
		
			
			| 
				139
			 | 
			
				
			 | 
			
			
				-    onChange={value => this.setState({ value })} 
			 | 
		
	
		
			
			| 
				140
			 | 
			
				
			 | 
			
			
				-    button={( 
			 | 
		
	
		
			
			| 
				141
			 | 
			
				
			 | 
			
			
				-      <Button 
			 | 
		
	
		
			
			| 
				142
			 | 
			
				
			 | 
			
			
				-        onClick={() => console.log(this.state.value)} 
			 | 
		
	
		
			
			| 
				143
			 | 
			
				
			 | 
			
			
				-      > 
			 | 
		
	
		
			
			| 
				144
			 | 
			
				
			 | 
			
			
				-      自定义按钮 
			 | 
		
	
		
			
			| 
				145
			 | 
			
				
			 | 
			
			
				-      </Button> 
			 | 
		
	
		
			
			| 
				146
			 | 
			
				
			 | 
			
			
				-    )} 
			 | 
		
	
		
			
			| 
				147
			 | 
			
				
			 | 
			
			
				-  /> 
			 | 
		
	
		
			
			| 
				148
			 | 
			
				
			 | 
			
			
				-</App> 
			 | 
		
	
		
			
			| 
				149
			 | 
			
				
			 | 
			
			
				-``` 
			 | 
		
	
		
			
			| 
				150
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				151
			 | 
			
				205
			 | 
			
			
				 ## 开发 
			 | 
		
	
		
			
			| 
				152
			 | 
			
				206
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				153
			 | 
			
				207
			 | 
			
			
				 ``` 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -158,12 +212,5 @@ $ yarn start 
			 | 
		
	
		
			
			| 
				158
			 | 
			
				212
			 | 
			
			
				 ``` 
			 | 
		
	
		
			
			| 
				159
			 | 
			
				213
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				160
			 | 
			
				214
			 | 
			
			
				 - `yarn build` 将项目打包成一个单页应用 
			 | 
		
	
		
			
			| 
				161
			 | 
			
				
			 | 
			
			
				-- `yarn lib` 将项目打包成一个组件 
			 | 
		
	
		
			
			| 
				
			 | 
			
				215
			 | 
			
			
				+- `yarn lib` 将项目打包成一个 es5 组件 
			 | 
		
	
		
			
			| 
				162
			 | 
			
				216
			 | 
			
			
				 - `yarn prettier` 格式化代码 
			 | 
		
	
		
			
			| 
				163
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				164
			 | 
			
				
			 | 
			
			
				-## TODO 
			 | 
		
	
		
			
			| 
				165
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				166
			 | 
			
				
			 | 
			
			
				-- [ ] 前后端统一错误码 
			 | 
		
	
		
			
			| 
				167
			 | 
			
				
			 | 
			
			
				-- [x] type 和 businessID 的定义 
			 | 
		
	
		
			
			| 
				168
			 | 
			
				
			 | 
			
			
				-- [ ] Editor onSubmit 回调 
			 | 
		
	
		
			
			| 
				169
			 | 
			
				
			 | 
			
			
				- 
			 |