2017-07-25 55 views
0

在Office 365面料的組件中,ReactJs存在such component。它有_getSelectionDetails()方法,它從列表中選擇項目進行計數 我想要使方法將重置它,並將取消選擇列表中的項目。例如,我們有按鈕,當我們按下按鈕時,我們重置列表中的所有項目,我們之前標記了這些項目。我試圖做的:如何重置列表中的選定項目?

_resetSelectedItems() :{ 
this.setState ({ selectionDetails: 0 }) 
} 

後,我叫它,它樹立了新的狀態,並設置爲0,但被前選定的項目保持選定,diselecting不會發生。我如何取消選擇項目?

+1

嘗試使用this._selection.XXXx,這裏有完整的文檔:https://github.com/OfficeDev/office-ui-fabric-react/blob/master/packages/office-ui-fabric-react/src /utilities/selection/Selection.ts –

回答

2

this.setState()執行this.state到新狀態的淺合併,例如,如果this.stateselectionDetails和更多的對象。 this.setState ({ selectionDetails: 0 })只會更新selectionDetails其他將保持不變。您必須手動清理其他對象。

裁判:this.setState

更新:

終於我知道了.... this._selection.setAllSelected(false)會工作。

查看我的github項目或查詢online

+0

我明白了。我不明白必須清理其他物體才能重設選定的物品。 –

+0

如何使用狀態或道具在UI中設置選定的項目? –

+0

我沒有寫任何方法來設置選定的項目。它已經存在。有這樣的方法在構造函數中:this._selection = new Selection(onSelectionChanged:()=> this.setState({selectionDetails:this._getSelectionDetails()}) }); –

相關問題