我有一個表格顯示json(動態)的一些記錄。當你點擊所需的行時,你會得到一個包含動作的對話框(記錄計數,拒絕,批准,關閉對話框,下一條記錄和上一條記錄)。將下一行數據從動態表中拖入ReactJS中的對話框中
我幾乎所有的工作,除了下一個和prev功能。我認爲rowIndex
上的++
和--
會進行下一次迭代(這是我的angularJS思考過程,因爲我已經在Angular中創建了這個過程,但是我們正在轉換爲ReactJS),但很明顯,它不能以這種方式工作。
這是我創造的功能,但是,你可以看到我的webpackbin簡約的代碼片段,您可以用它來玩弄它:
//Pull the next item
handleApprovalDialogNext = (rowIndex, openIndex, event) => {
this.setState(
{
openIndex: rowIndex++,
},() => {this.setState({ open: true })}
)
};
//Pull the prev item
handleApprovalDialogPrev = (rowIndex, openIndex, event) => {
this.setState(
{
openIndex: rowIndex--,
},() => {this.setState({ open: true })}
)
};
這裏是一個鏈接到我的webpackbin
ps理想情況下,如果該項目是第一個,它不應該讓你回去(也許,禁用箭頭圖標)。到達數據末尾時也是如此。
任何幫助將非常感激。
是啊!工作!並感謝您的解釋和資源。比提供代碼更好。非常感謝。 webpackbin是固定的,如果你有一分鐘時間幫助我處理另一個有條件地禁用圖標的部分,如果沒有以前的項目或者它是數據的結尾。如果沒有,沒關係。無論如何, – LOTUSMS
只是想補充說,當新狀態取決於當前狀態時,建議使用'setState'的回調版本並使用'prevState'參數: 'this.setState(prevState =>({0} {0} {0} prevState.openIndex + 1 }));' –
@LOTUSMS更新答案以包含條件呈現。 –