@Component
標簽修飾UI,相當于Android的view,所有的UI組件都要使用@Component標簽
@Entry標簽
表明當前是一個頁面,不是一個視圖。多個組件組合時只能有一個@Entry標簽,被該標簽修飾后頁面才會有生命周期
import router from '@ohos.router'
@Entry
@Component
struct Login {
@State title: string = '登錄頁面'
build() {
Row() {
Column() {
Text(this.title).fontSize(20)
.fontWeight(FontWeight.Bold)
.textAlign(TextAlign.Center)
.width('100%').margin({top:10})
Button() {
Text('返回')
.fontSize(18)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.padding({top:5,bottom:5,left:10,right:10})
.margin({top:20})
.onClick(()=>{
try{
router.back()
}catch (err){
console.error("錯誤="+err.code +" message="+err.message)
}
})
}
}.width('100%')
}
onPageShow(){
//頁面每次顯示時觸發
}
onPageHide(){
//頁面每次隱藏時觸發
}
onBackPress(){
//用戶點擊返回按鈕時觸發
}
aboutToAppear(){
//在執行build函數之前執行
}
aboutToDisappear(){
//組件即將銷毀時執行
}
}
@Builder標簽
使用該標簽的方法會自動構建一個組件
- 全局方式
@Builder function xxx{}
- 組件內方式
@Builder xx{}
需要傳遞參數時采用引用傳遞 $$
//方法
@Builder function builderFunc($$:{showText:string}){
Text('全局 builder方法 '+$$.showText)
.fontSize(18)
.fontColor("#333333")
}
//調用
builderFunc({showText:'全局豬頭'})
@BuilderParam標簽
/**
* 全局styles樣式
*/
@Styles function globalFancy(){
.width(100)
.height(150)
.backgroundColor(Color.Pink)
}
@Builder function builderFunc($$:{showText:string}){
Text('全局 builder方法 '+$$.showText)
.fontSize(18)
.fontColor("#333333")
}
@Component
struct testBuildParam{
@BuilderParam param:()=>void
build(){
Column(){
this.param()
}
}
}
//頁面入口
@Entry
@Component
struct StylesPage{
@State heightNum:number = 100
@Styles selfFancy(){
.width(120)
.height(this.heightNum)
.backgroundColor(Color.Yellow)
.onClick(()=>{
this.heightNum = 180
})
}
@Builder builderSelf(){
Text("組件內方法")
.fontSize(15)
.fontColor("#999999")
.margin({top:20})
}
build(){
Column({space:10}){
Text("全局引用styles")
.globalFancy()
.fontSize(25)
Text("組件內的style")
.selfFancy()
.fontSize(18)
this.builderSelf()
builderFunc({showText:'全局豬頭'})
testBuildParam({param:this.builderSelf})
}
}
}
審核編輯 黃宇
HTML 1800 字數 121 段落
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
60文章
2963瀏覽量
45898
發布評論請先 登錄
相關推薦
熱點推薦
基于Matter over Thread的照明應用示例簡要設置步驟
在Silicon Labs(芯科科技)近期更新的技術支持文檔頁面中,我們詳細描述了運行一個基于Matter over Thread的照明應用示例的簡要設置步驟。
小藝開放平臺快速創建鴻蒙智能體
1.登錄小藝開放平臺,進入小藝智能體平臺頁面,點擊立即體驗,進入創建頁面。
2.點擊左上角【+創建智能體】按鈕,即可進入智能體創建流程。
3.擊【+創建】后,會進入到標準創建頁面,在這里你可以直接
發表于 01-19 11:00
以龍企招為例,淺談鴻蒙應用開發者激勵計劃 2025 參與心得
2025 年,我們帶著 “龍企招” 鴻蒙應用,報名參與了鴻蒙應用開發者激勵計劃。原本滿懷期待地提交上架申請,卻收到了審核未通過的通知。這次經歷雖有遺憾,卻讓我們深刻體會到鴻蒙生態對應用質量的嚴格要求
發表于 12-12 10:17
觸覺智能RK3576開發板OpenHarmony開源鴻蒙系統USB控制傳輸功能示例
本文介紹OpenHarmony開源鴻蒙系統的USB控制傳輸功能實現及相關代碼示例,基于觸覺智能RK3576開發板PurplePiOH2演示。OpenHarmony的USB通信介紹實現
曝鴻蒙6.0系統星閃藍牙入口合并
有數碼博主爆料稱在華為鴻蒙 HarmonyOS 6.0 系統 Beta3 版本的部分場景操作視頻中可以看到,星閃和藍牙的功能入口和功能頁面已經合并。 ?
知乎開源“智能預渲染框架” 幾行代碼實現鴻蒙應用頁面“秒開”
近日,知乎在Gitee平臺開源了其自研的鴻蒙“智能預渲染框架”,并將該框架的Har包上架到OpenHarmony三方庫中心倉。該框架在鴻蒙平臺首創“智能預渲染”技術,旨在破解應用復雜頁面加載緩慢
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、生命周期階段: 創建階段 build
【 HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解
【 HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言:移動開發
鴻蒙5開發寶藏案例分享---Web頁面內點擊響應時延分析
鴻蒙Web性能優化寶藏指南!那些官方沒明說的實戰技巧
各位鴻蒙開發者好!最近在排查Web頁面卡頓時,意外在HarmonyOS開發者文檔里挖到性能優化的寶藏案例!這些實戰經驗藏在「應用質量 &
發表于 06-12 17:09
鴻蒙5開發寶藏案例分享---性能體驗設計
小伙伴可能沒注意到。今天我就把這些干貨整理出來,配上代碼示例,讓你輕松打造60幀無卡頓的鴻蒙應用!
一、感知流暢性核心原則
官方文檔強調: 流暢≠高性能 ,而是操作響應、動效、心理預期的完美配合。舉個
發表于 06-12 16:45
KaihongOS操作系統:頁面的生命周期介紹
頁面的生命周期
在KaihongOS中,學習頁面的生命周期前需要先了解自定義組件。
1. 自定義組件(Component)
自定義組件是通過@Component裝飾的UI單元,可以組合多個系統
發表于 04-25 08:18
如何在KaihongOS操作系統中寫一個動態的頁面
/profile目錄,在main_pages.json文件中的“src”下配置第二個頁面的路由“pages/Second”。示例如下:
{"src": [ "
發表于 04-25 06:42
DevEco Studio 寫一個簡單的頁面
寫一個簡單的頁面
說明:
為確保運行效果,本文及之后的文檔示例都將以使用DevEco Studio 4.1 Release版本為例。
我們在構建第一個應用程序中新建了一個名為
發表于 04-24 07:36
DialogHub上線OpenHarmony開源社區,高效開發鴻蒙應用彈窗
作為鴻蒙應用開發者,在使用ArkUI現有能力進行彈窗開發時,總會遇到一些讓人糾結的交互問題:應用內進行消息提示時,既要求消息內容支持圖文混排,又要求彈窗本身不能打斷用戶交互(頁面滑動、頁面
發表于 04-03 17:30
鴻蒙頁面示例
評論