寫在前面
也不知道怎麼了,腦神經(太陽穴位置)特別疼,眯了一會,這會好多了,接著續上程式碼的感覺,就如同下午和一個粉絲說的一樣。
先沉下心來吧 方向有了 然後就是執行力的事了
所以呢,還是想把想做的事先做了,冉柔堅持下去,這樣未來自己也不會後悔。
不知道,這算不算自己的優點呢,哈哈哈,厚臉皮的說。
刪除功能的拆解
可能有的同學會好奇,說六哥,你怎麼現在總提任務拆解呢?
因為做需求的話,肯定是要會功能拆分,也許未來要臨時客串下產品經理也說不定呢,是不是,哈哈哈。
刪除功能可以拆分為如下:
- 後端增加刪除介面
- 前端點選刪除按鈕時呼叫後端刪除介面
- 刪除時需要有一個確認框
刪除功能的實現
1、後端增加刪除介面
也就是在controller
中增加一個介面方便呼叫,在service
中實現,示例程式碼如下:
/**
* 刪除功能
*
* @param id
* @return
*/
@DeleteMapping("/delete/{id}")
public CommonResp delete(@PathVariable long id) {
CommonResp resp = new CommonResp<>();
eBookService.delete(id);
return resp;
}
/**
* 刪除操作
*
* @param id
*/
public void delete(long id){
eBookMapper.deleteByPrimaryKey(id);
}
2、前端呼叫刪除方法並彈出對話方塊提示
因為是前端部分,所以我把後面兩條拆解整合了到一起實現。
兩步走,第一步,使用Popconfirm
氣泡確認框。第二步,在按鈕處寫方法呼叫刪除方法,示例程式碼如下:
<a-popconfirm
title="刪除後無法恢復,確認刪除嗎?"
ok-text="確認"
cancel-text="取消"
@confirm="confirm"
>
<a-button type="danger" @click="handleDelete(record.id)">
刪除
</a-button>
</a-popconfirm>
/**
* 刪除
* @param id
*/
const handleDelete = (id: number) => {
axios.delete("/ebook/delete/"+id).then(response => {
const data = response.data;
if (data.success) {
//重新載入列表
handleQuery({
page: 1,
size: pagination.value.pageSize,
});
}
})
}
const confirm = (e: MouseEvent) => {
console.log(e);
message.success('刪除成功!');
};
編譯檢視結果
寫在最後
可能是我自己有點強迫症吧,就是在檢視結果的時候,總喜歡放動態圖片。
但對我而言,就涉及兩塊內容了,要先錄製視訊,然後,再將視訊轉換為動圖,但圖片超過幀數後,圖片就無法顯示,扎心了。
這時候,我就需要處理圖片幀數及大小問題,真的很頭疼,但是好處就是,自己也摸索出了,一些處理問題的方法,細想想,其實也很有意思。