通用评论

index.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import React, { Component } from "react";
  2. import ReactDOM from "react-dom";
  3. // e.g.
  4. // import { Button, Icon } from "antd";
  5. // import App, { Editor, RenderText } from "./App";
  6. import App, { Editor } from "./App";
  7. import registerServiceWorker from "./registerServiceWorker";
  8. class Index extends Component {
  9. constructor(props) {
  10. super(props);
  11. this.state = {
  12. value: ""
  13. };
  14. this.handleChangeValue = this.handleChangeValue.bind(this);
  15. this.handleChangeSubmit = this.handleChangeSubmit.bind(this);
  16. }
  17. handleChangeValue(value) {
  18. this.setState({ value });
  19. console.log("handleChangeValue value: ", value);
  20. }
  21. handleChangeSubmit({ text, files }) {
  22. this.setState({ loading: true }, () => {
  23. setTimeout(() => {
  24. this.setState({ loading: false });
  25. }, 2000);
  26. });
  27. console.log("submit text: ", text);
  28. console.log("submit files: ", files);
  29. }
  30. render() {
  31. // 最简单的用法
  32. return (
  33. <App
  34. type={1}
  35. businessId="test"
  36. showAlertComment
  37. showAlertReply
  38. showAlertFavor
  39. showError={false}
  40. userId={71299}
  41. pageType="pagination"
  42. onError={(msg, { response }) => {
  43. if (response.status === 401) {
  44. console.log("unlogined");
  45. }
  46. console.log(`-----------${msg}`);
  47. }}
  48. >
  49. <Editor
  50. maxUpload={4}
  51. autoFocus
  52. beforeSubmit={() => {
  53. return new Promise(resolve => {
  54. resolve(true);
  55. });
  56. }}
  57. onCommentSuccess={() => {
  58. console.log("succ");
  59. }}
  60. showError={false}
  61. onError={(msg, { response }) => {
  62. if (response.status === 401) {
  63. console.log("unlogined");
  64. }
  65. console.log(`-----------${msg}`);
  66. }}
  67. />
  68. </App>
  69. );
  70. // e.g.
  71. // 复杂的用户法
  72. // const props = {
  73. // type: 1,
  74. // businessId: "1",
  75. // API: "http://api.links123.net/comment/v1",
  76. // showList: true
  77. // };
  78. // const editorProps = {
  79. // showEmoji: true,
  80. // placeholder: "说点什么吧",
  81. // rows: 5,
  82. // btnLoading: this.state.loading,
  83. // btnDisable: this.state.loading,
  84. // btnSubmitText: "提交",
  85. // value: this.state.value,
  86. // onChange: v => this.handleChangeValue(v),
  87. // onSubmit: v => this.handleChangeSubmit(v),
  88. // button: (
  89. // <Button
  90. // type="primary"
  91. // ghost
  92. // // onClick={() => console.log('click btn: ', this.state.value)}
  93. // >
  94. // 自定义按钮
  95. // </Button>
  96. // ),
  97. // emojiToolIcon: <Icon type="smile" style={{ fontSize: 23 }} />,
  98. // imageToolIcon: (
  99. // <Icon type="cloud-upload-o" style={{ fontSize: 25, marginLeft: 10 }} />
  100. // )
  101. // };
  102. // return (
  103. // <App {...props}>
  104. // <Editor {...editorProps} />
  105. // </App>
  106. // );
  107. }
  108. }
  109. ReactDOM.render(<Index />, document.getElementById("root-comment"));
  110. registerServiceWorker();