2
0

SuggestionAdd.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Button } from "antd";
  2. import { useEffect, useState } from "react";
  3. import { PlusOutlined } from "@ant-design/icons";
  4. import type { ISentence } from "../SentEdit"
  5. import SentCellEditable from "./SentCellEditable";
  6. interface IWidget {
  7. data: ISentence;
  8. onCreate?: Function;
  9. }
  10. const SuggestionAddWidget = ({ data, onCreate }: IWidget) => {
  11. const [isEditMode, setIsEditMode] = useState(false);
  12. const [sentData, setSentData] = useState<ISentence>(data);
  13. useEffect(() => {
  14. setSentData(data);
  15. }, [data]);
  16. return (
  17. <>
  18. <div style={{ display: isEditMode ? "none" : "block" }}>
  19. <Button
  20. type="dashed"
  21. style={{ width: 300 }}
  22. icon={<PlusOutlined />}
  23. onClick={() => {
  24. setIsEditMode(true);
  25. }}
  26. >
  27. 添加修改建议
  28. </Button>
  29. </div>
  30. <div>
  31. {isEditMode ? (
  32. <SentCellEditable
  33. data={sentData}
  34. isPr={true}
  35. isCreatePr={true}
  36. onClose={() => {
  37. setIsEditMode(false);
  38. }}
  39. onCreate={() => {
  40. setIsEditMode(false);
  41. if (typeof onCreate !== "undefined") {
  42. onCreate();
  43. }
  44. }}
  45. />
  46. ) : undefined}
  47. </div>
  48. </>
  49. );
  50. };
  51. export default SuggestionAddWidget;