V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yxcoder

react 如何优雅的实现批量删除+二次确认

  •  
  •   yxcoder · May 13, 2024 · 2221 views
    This topic created in 713 days ago, the information mentioned may be changed or developed.

    react

    我在实现这么一个批量删除功能

    但是批量删除中会有某些内容需要弹出二次确认弹框

    我希望能够通过 promise 实现链式的操作

    const delete = (ids: string[]) => {
      ids.forEach(async(id)=>{
        await deleteOne(id)
      })
    }
    
    const deleteOne = async(id) => {
      /** dosomething **/
      if(await confirm(id)){
        /** do delete **/
      }
    }
    
    const confirm = async(id){
      /** 这里我要怎么实现 **/
    }
    

    注意:这里的 confirm 需要弹出二次确认弹框并返回 promise ,或者有什么其他更好的办法?

    4 replies    2024-05-14 06:31:33 +08:00
    Chemist
        1
    Chemist  
       May 13, 2024
    首先,ids.forEach 会一次性弹出 ids.length 个弹窗,得改成 for loop 来实现。
    如果你用 antd 可以这么玩:

    const confirm = () => new Promise(resolve => {
    ----Modal.confirm({
    --------onOk: resolve,
    ----});
    });
    Xu3Xan89YsA7oP64
        2
    Xu3Xan89YsA7oP64  
       May 13, 2024
    这种问 gpt 可以秒出答案
    Maboroshii
        3
    Maboroshii  
       May 13, 2024
    搭车问下,如果这种问题 gpt 秒出答案,gpt 的能力是来自于它“理解了”js, react 文档,还是它的训练集里有类似的问题和解答
    urdad
        4
    urdad  
       May 14, 2024
    @Maboroshii 完全理解了,因为他已经可以创造你需要的新函数了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5366 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 03:51 · PVG 11:51 · LAX 20:51 · JFK 23:51
    ♥ Do have faith in what you're doing.