SAP UI5 control focus related research
Sent: Wednesday, 11 May, 2016 11:49 AM
在PC上,點(diǎn)了live search的search field后,
也經(jīng)歷了key down->key press->send http request to backend->key up
我比較感興趣的是這個(gè)Store focus information,里面直接指向我們S2的HeaderFooterHelper,正好是出問題的search field所在。
solution
是aggregationBinding的位置不對(duì),不應(yīng)該在onInit中而應(yīng)該放在routeMatched中做該操作。
重新梳理下這個(gè)問題:
這個(gè)失去焦點(diǎn)的問題出現(xiàn)根本原因是search input被觸發(fā)了blur事件,從而失去了焦點(diǎn),而blur事件的觸發(fā)禍?zhǔn)资莇efineMasterHeaderFooter方法被框架call到了,下圖很清楚的說明了這個(gè)問題。
接下來借助截圖說明為什么Leads中defineMasterHeaderFooter會(huì)被框架調(diào)用到,而Contacts沒有呢?
在MasterHeaderFooter被創(chuàng)建(app init)出來的時(shí)候,框架會(huì)判斷在那個(gè)時(shí)間節(jié)點(diǎn)master list是否存在綁定了,如果有的話,會(huì)在binding對(duì)象上掛一個(gè)監(jiān)聽change事件的event handler,也就是這個(gè)event handler觸發(fā)了defineMasterHeadrFooter方法被又一次調(diào)用。
解決方案就是照著BP的改,把bindAggregation的動(dòng)作放到routeMatched里面去
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的SAP UI5 control focus related research的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网传特斯拉Model 3起售价降至18万
- 下一篇: OData Console in C4C