0
對於DetailsLists,「onActiveItemChanged」不適用於打開該項目的模式對話框,作爲第二次點擊同一行(在關閉模型後dialolg)被忽略,因爲activeItem沒有改變。 「onItemInvoke」不是很好,因爲它只響應雙擊。辦公結構:使用戶能夠重新選擇DetailList中的同一行
有沒有辦法清除活動項目?
對於DetailsLists,「onActiveItemChanged」不適用於打開該項目的模式對話框,作爲第二次點擊同一行(在關閉模型後dialolg)被忽略,因爲activeItem沒有改變。 「onItemInvoke」不是很好,因爲它只響應雙擊。辦公結構:使用戶能夠重新選擇DetailList中的同一行
有沒有辦法清除活動項目?
這裏有兩種解決方案:
答:強制重建DetailsList我迭代的關鍵
1)添加狀態變量爲保存鍵值
state: ComponentState = {
dialogKey: 0
}
2父組件)添加DetailsList的關鍵字
<DetailsList
key={this.state.dialogKey}
onActiveItemChanged={trainDialog => this.onOpenModel(item)}
...
/>
3)當t增加密鑰時他的模型關閉:
onCloseModal() {
this.setState({
dialogKey: this.state.dialogKey+1
})
}
這將迫使在同一個重建DetailsList的那麼第二點擊就會觸發onActiveItemChanged
B:添加一個onClick處理程序來渲染爲每列:
<span onClick={() => component.onOpenModel(action)}>Cell Content</span>