import { Button, Divider, List, Space, Switch, message } from "antd"; import { useEffect, useState } from "react"; import { ReloadOutlined } from "@ant-design/icons"; import { get } from "../../../request"; import type { ISentenceSimListResponse, ISimSent } from "../../../api/Corpus"; import MdView from "../MdView"; import SentCanRead from "./SentCanRead"; interface IWidget { book: number; para: number; wordStart: number; wordEnd: number; channelsId?: string[]; limit?: number; reload?: boolean; onReload?: Function; onCreate?: Function; } const SentSimWidget = ({ book, para, wordStart, wordEnd, limit = 5, channelsId, reload = false, onReload, onCreate, }: IWidget) => { const [initLoading, setInitLoading] = useState(true); const [loading, setLoading] = useState(false); const [sim, setSim] = useState(0); const [offset, setOffset] = useState(0); const [sentData, setSentData] = useState([]); const [remain, setRemain] = useState(0); const load = () => { let url = `/v2/sent-sim?view=sentence&book=${book}¶graph=${para}&start=${wordStart}&end=${wordEnd}&mode=edit`; url += `&limit=${limit}`; url += `&offset=${offset}`; url += `&sim=${sim}`; url += channelsId ? `&channels=${channelsId.join()}` : ""; setLoading(true); console.log("url", url); get(url) .then((json) => { if (json.ok) { console.log("sim load", json.data.rows); setSentData([...sentData, ...json.data.rows]); setRemain(json.data.count - sentData.length - json.data.rows.length); } else { message.error(json.message); } }) .finally(() => { setInitLoading(false); setLoading(false); if (reload && typeof onReload !== "undefined") { onReload(); } }); }; useEffect(() => { load(); }, [offset, sim]); return ( <> {"只显示相同句"} { if (checked) { setSim(1); } else { setSim(0); } setOffset(0); setSentData([]); }} /> } dataSource={sentData} renderItem={(item, index) => ( )} /> ); }; export default SentSimWidget;