摘要:答案是可以像普通的控件一樣在中被定義和使用,但是必須結(jié)合,否則沒有意義。也就是說您可以創(chuàng)建一個(gè)很簡(jiǎn)單的,然后在這個(gè)里像使用普通控件那樣使用,沒有任何問題。在時(shí),它會(huì)自動(dòng)被渲染成帶單位的。后面那個(gè)的就像變戲法一樣生成了,其實(shí)就是這個(gè)起的作用。
我的同事問過我這個(gè)問題:
只要弄清楚Smart control的原理,就能回答這個(gè)問題。
答案是: smart control可以像普通的控件一樣在xml view中被定義和使用,但是必須結(jié)合OData annotation,否則沒有意義。以Smart control里的Smart field為例,詳細(xì)原理在我的博客Currency example – how Smart field works里介紹。
概括起來,就是:
1. Smart field本身也是一個(gè)控件,更準(zhǔn)確的說是一個(gè)沒有UI輸出的控件,只是一個(gè)殼。在UI render的時(shí)候,smart field會(huì)演變成input field,還是drop down list,還是date picker,還是F4 help,這些都需要有一個(gè)角色來告訴smart field,這個(gè)角色就是Odata annotation。Metadata里定義的annotation會(huì)決定smart field最后的輸出方式。
2. Smart control可以脫離Smart template框架多帶帶使用。也就是說您可以創(chuàng)建一個(gè)很簡(jiǎn)單的xml view,然后在這個(gè)view里像使用普通控件那樣使用smart control,沒有任何問題。
請(qǐng)參考這個(gè)例子(完整實(shí)現(xiàn)代碼在文末):
在XML view里,我定義了一個(gè)Smart field,綁到Price這個(gè)property上。
在runtime時(shí),它會(huì)自動(dòng)被渲染成帶單位的currency field。后面那個(gè)EUR的currency field就像變戲法一樣生成了,其實(shí)就是sap:unit="CurrencyCode"這個(gè)annotation起的作用。至于框架是如何解析annotation并自動(dòng)生成currency field,相關(guān)的代碼和分析都在上述提到的博客Currency example – how Smart field works里。
該Fiori應(yīng)用的目錄結(jié)構(gòu):
源代碼地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/115727.html
摘要:答案是可以像普通的控件一樣在中被定義和使用,但是必須結(jié)合,否則沒有意義。也就是說您可以創(chuàng)建一個(gè)很簡(jiǎn)單的,然后在這個(gè)里像使用普通控件那樣使用,沒有任何問題。在時(shí),它會(huì)自動(dòng)被渲染成帶單位的。后面那個(gè)的就像變戲法一樣生成了,其實(shí)就是這個(gè)起的作用。 我的同事問過我這個(gè)問題: showImg(https://segmentfault.com/img/remote/1460000013375524...
摘要:答案是可以像普通的控件一樣在中被定義和使用,但是必須結(jié)合,否則沒有意義。也就是說您可以創(chuàng)建一個(gè)很簡(jiǎn)單的,然后在這個(gè)里像使用普通控件那樣使用,沒有任何問題。在時(shí),它會(huì)自動(dòng)被渲染成帶單位的。后面那個(gè)的就像變戲法一樣生成了,其實(shí)就是這個(gè)起的作用。 我的同事問過我這個(gè)問題: showImg(https://segmentfault.com/img/remote/1460000013375524...
摘要:答案是可以像普通的控件一樣在中被定義和使用,但是必須結(jié)合,否則沒有意義。也就是說您可以創(chuàng)建一個(gè)很簡(jiǎn)單的,然后在這個(gè)里像使用普通控件那樣使用,沒有任何問題。在時(shí),它會(huì)自動(dòng)被渲染成帶單位的。后面那個(gè)的就像變戲法一樣生成了,其實(shí)就是這個(gè)起的作用。 我的同事問過我這個(gè)問題: showImg(https://segmentfault.com/img/remote/1460000013375524...
摘要:從調(diào)用棧能清楚發(fā)現(xiàn)是這個(gè)事件觸發(fā)的第二批的讀取動(dòng)作。然后再去這一個(gè)調(diào)用棧,發(fā)現(xiàn)一個(gè)屬性維護(hù)了一個(gè)開始索引,每次到底部的事件觸發(fā)之后,該屬性值都會(huì)被累加。這些庫文件一覽在開發(fā)者工具查看從后臺(tái)加載的庫文件,能發(fā)現(xiàn)屬性在此處被硬編碼成。 今天一同事問我這個(gè)問題:S/4HANA Fiori應(yīng)用里的列表,一旦Scroll到底部就會(huì)自動(dòng)向后臺(tái)發(fā)起新的請(qǐng)求把更多的數(shù)據(jù)讀取到前臺(tái)顯示。 以Produc...
閱讀 1743·2021-08-30 09:45
閱讀 1777·2019-08-30 15:54
閱讀 1199·2019-08-30 14:02
閱讀 1962·2019-08-29 16:21
閱讀 1639·2019-08-29 13:47
閱讀 3216·2019-08-29 12:27
閱讀 721·2019-08-29 11:01
閱讀 2683·2019-08-26 14:04