2017-07-02 110 views
0

我做了一個對話框,要求確認刪除日誌。但是我在刪除日誌時遇到了問題。當我點擊刪除時,日誌被刪除而不是打開一個模式,用戶被詢問是否肯定要刪除。如果他們準備刪除,他們將點擊刪除按鈕,然後刪除日誌。在我的情況下,刪除是在打開模式之前進行的。我做錯了什麼?刪除之前發生在打開刪除確認模式

handleDelete(key) { 
    this.setState({ show: true }); 
    const logDeleteConfirmation = (
    <DeleteConfirmation 
     hideDialog={this.props.hideDialog} 
     logKey={key} 
     onDelete={this.props.deleteLog(key)} 
    /> 
); 
    this.props.showDialog(logDeleteConfirmation); 
} 


render() { 
    return(
    <div className="col-md-6 text-right"> 
    <a 
     className="text-danger" 
     onClick={() => this.handleDelete(log.get("_id"))} 
    > 
     Delete 
    </a> 
    </div> 
) 
} 


class DeleteConfirmation extends React.PureComponent { 
    handleDelete(key) { 
    console.log("key", key); 
    this.props.onDelete(key); 
    this.props.hideDialog(); 
    } 

    render() { 
    return (
     <Modal show onHide={() => this.props.hideDialog()} className="md-box"> 
     <h1>Are you sure want to delete?</h1> 
      <button 
      onClick={() => this.handleDelete(this.props.logKey)} 
      > 
      Delete 
      </button> 
     </Modal> 
    ); 
    } 
} 

回答

1

在第一組分中除去onDelete (key)

<DeleteConfirmation 
     hideDialog={this.props.hideDialog} 
     logKey={key} 
     onDelete={this.props.deleteLog(key)} //here 
    /> 

只是onDelete={this.props.deleteLog}您可以調用此操作,而不是將ref發送給它。

+0

感謝它的工作。 – Serenity