亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

添加了新的replay之后,怎樣把input里的內容清空?

添加了新的replay之后,怎樣把input里的內容清空?

正在回答

4 回答

你寫的很認真。點贊! 有幾點可以改進,1 刪除的回調函數也許不需要傳入 e 這個event object,直接把 index 傳入豈不是更好? 2 在 deleteComment 方法中,你選用了 splice 來刪除,splice 是個 mutable 的方法,當然也沒問題,也可以試試用 數組上面的 filter 方法,這個函數是 immtuable 的,而且更好理解。3 既然 clickHandler 里面只有一行,是不是可以試試直接用箭頭函數作為回調? 例如 onClick={(e)=> { .... }}

1 回復 有任何疑惑可以回復我~
#1

幕布斯3313121

你好,老師我想問一下這個filter的怎么寫?
2019-08-26 回復 有任何疑惑可以回復我~
#2

幕布斯3313121

this.state.comments.filter((num, index) => console.log(num, this.state.comments[index]))
2019-08-26 回復 有任何疑惑可以回復我~

清空操作可以試試在提交的時候進行,也就是在handleSubmit()方法中,添加

this.textInput.value?=?''


0 回復 有任何疑惑可以回復我~

emmmm......我覺得不用這樣的,加一個函數

componentDidUpdate(prevProps,?prevState,?snapshot)?{
????document.getElementById('comment').value?=?""
}


0 回復 有任何疑惑可以回復我~
#1

qq_長流_0

對了 input 上面要給個id="comment"
2018-12-04 回復 有任何疑惑可以回復我~

剛問完發現是老師留的作業……那我就自問自答一下吧:

在CommentBox.js里的handleSubmit里加上一句:?

this.textInput.value=""

即可


加刪除按鈕比較麻煩點,CommentList.js文件中,把ul標簽修改如下:

<ul?className="list-group?mb-3">
{????
????this.props.comments.map((comment,?index)?=>????????
????????<li?key={index}?className="list-group-item">{comment}
????????<button
????????????type="button"
????????????className="btn?btn-danger?btn-sm"
????????????data-index={index}
????????????onClick={this.clickHandler}
?????????>
?????????刪除
?????????</button>
?????????</li>
?????)
}
</ul>

同時加入clickHandler方法

clickHandler(e)?{
????this.props.onDeleteComment(e)
}

最后,在App.js里,首先把CommentList標簽加入onDeleteComment屬性

<CommentList?comments={comments}?onDeleteComment={this.deleteComment}?/>

再加入deleteComment方法:

deleteComment(e)?{
????const?index?=?e.target.getAttribute("data-index");
????let?newComments?=?this.state.comments
????newComments.splice(index,?1)
????this.setState({
????????comments:?newComments
????})
}

我在刪除按鈕上加了一個data-index屬性用來傳遞comment的index,不確定好不好,也不知道有沒有更好的方法。歡迎大家討論,也請老師指點。

1 回復 有任何疑惑可以回復我~
#1

pardon110

一個箭頭函數就可搞定的事,非要寫那么多
2018-11-19 回復 有任何疑惑可以回復我~
#2

慕運維6548256

你好,我嘗試將子組件中的handleClick方法傳入參數由事件e改為index,但是直接改成index后index是[object Object]對象,仍然只能用getattribute方法傳遞index
2019-11-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

添加了新的replay之后,怎樣把input里的內容清空?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號