天天看點

一個檢視 SAP UI5 控件所有公有方法的小技巧

一個很小的tip:比如我想把UI5表格控件裡的每列設定成寬度根據顯示的内容自适應,需要知道應該調用控件的哪個方法來實作。

一個檢視 SAP UI5 控件所有公有方法的小技巧

一種辦法當然是查SAP幫助文檔,得知需要調用控件的公有方法setAutoSizable。

另一種辦法是在debugger裡研究,因為根據經驗,這種公有方法的名稱按照慣例一般都是以set開頭,如下圖:

一個檢視 SAP UI5 控件所有公有方法的小技巧

根據經驗從調試器裡的set自動完成清單裡的所有條目定位到應該調用setAutoResizable這個方法。下一個問題就是這個方法到底應該傳什麼參數進去。

直接在調試器裡執行方法getMetadata, 展開傳回的結果:

一個檢視 SAP UI5 控件所有公有方法的小技巧

在_mProperties的autoResizable裡得知這個set方法應該傳一個boolean類型的參數進去:

一個檢視 SAP UI5 控件所有公有方法的小技巧

反思

這種思路是在runtime時擷取控件的中繼資料,這和Java的反射,ABAP的RTTI實際上異曲同工。