From fe7d726dee4106c94da0ec6644197d9ba00125f4 Mon Sep 17 00:00:00 2001 From: JustSong Date: Sun, 16 Apr 2023 16:13:55 +0800 Subject: [PATCH] feat: able to delete message now --- web/src/components/MessagesTable.js | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/web/src/components/MessagesTable.js b/web/src/components/MessagesTable.js index a3a9a0c..e8b1fab 100644 --- a/web/src/components/MessagesTable.js +++ b/web/src/components/MessagesTable.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from 'react'; import { Button, Form, Label, Modal, Pagination, Table } from 'semantic-ui-react'; -import { API, openPage, showError } from '../helpers'; +import { API, openPage, showError, showSuccess } from '../helpers'; import { ITEMS_PER_PAGE } from '../constants'; @@ -172,14 +172,25 @@ const MessagesTable = () => { setLoading(false); }; - const resendMessage = (id) => { + const resendMessage = async (id) => { // TODO: Implement resendMessage console.log('resendMessage', id); }; - const deleteMessage = (id) => { - // TODO: Implement deleteMessage - console.log('deleteMessage', id); + const deleteMessage = async (id, idx) => { + setLoading(true); + const res = await API.delete(`/api/message/${id}`); + const { success, message } = res.data; + if (success) { + showSuccess('操作成功完成!'); + let newMessages = [...messages]; + let realIdx = (activePage - 1) * ITEMS_PER_PAGE + idx; + newMessages[realIdx].deleted = true; + setMessages(newMessages); + } else { + showError(message); + } + setLoading(false); }; const searchMessages = async () => { @@ -311,8 +322,9 @@ const MessagesTable = () => {