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