2
任何人都有關於如何在反應DetailsList中聚焦按鈕的建議?裁判似乎是要走的路,我想這樣做:如何使用React和Office Fabric將按鈕聚焦到詳細列表中
findDOMNode<HTMLButtonElement>(this.refs.mybutton).focus()
但我一直沒能得到按鈕元件上的裁判手柄。
一種方法我試過在我DetailsList:
<DetailsList
onRenderItemColumn={this.renderItemColumn}
ref={(list) => {this.detailsList = list;}}
....
/>
而且我要重點按鈕(從renderItemColumn推出):
<PrimaryButton
onClick={() => this.handleActionSelection(fieldContent)}
ariaDescription={buttonText}
text={buttonText}
ref={"ButtonIWantToFocus"}
/>
在didComponentMount()現在我能得到訪問DetailList,但我不知道如何讓按鈕引用來關注。
或者我可以定義按鈕:
<PrimaryButton
disabled={true}
ariaDescription={buttonText}
text={buttonText}
ref={(button) => {this.focusButton = button;}}
/>
這給我一個手柄的按鈕,但它沒有焦點()函數。
感謝您的想法。
感謝您的快速回復。我認爲這個問題與OfficeFabric有關。 PrimaryButton元素沒有focus()函數。我已經能夠關注它的唯一方法(當不在表格中時)是:findDOMNode(this.refs.doneExtractingButton).focus(); –
Lars
對不起剛剛注意到你正在使用一個組件而不是一個dom元素。在短暫的閱讀之後,你應該使用'prop'' componentRef'而不是'ref'。我會更新我的例子 –
太棒了。非常感激。 – Lars