Refresh
可以進(jìn)行頁(yè)面下拉操作并顯示刷新動(dòng)效的容器組件。
說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
該組件從API Version 8開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。當(dāng)設(shè)置自定義組件時(shí),自定義組件的高度限制在64vp之內(nèi)。
子組件
支持單個(gè)子組件。
接口
Refresh(value: { refreshing: boolean, offset?: number | string , friction?: number | string, builder?: Custombuilder})
參數(shù) | 參數(shù)名 | 必填 | 參數(shù)描述 |
---|---|---|---|
refreshing | boolean | 是 | 當(dāng)前組件是否正在刷新。 該參數(shù)支持[$$]雙向綁定變量。 |
offset | string | number | 否 |
friction | number | string | 否 |
builder | [CustomBuilder]10+ | 否 | 下拉時(shí),自定義刷新樣式的組件。 |
屬性
支持[通用屬性]。
事件
除支持[通用事件]外,還支持以下事件:
名稱 | 描述 |
---|---|
onStateChange(callback: (state: [RefreshStatus]) => void) | 當(dāng)前刷新?tīng)顟B(tài)變更時(shí),觸發(fā)回調(diào)。 - state:刷新?tīng)顟B(tài)。 |
onRefreshing(callback: () => void) | 進(jìn)入刷新?tīng)顟B(tài)時(shí)觸發(fā)回調(diào)。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
RefreshStatus枚舉說(shuō)明
名稱 | 描述 |
---|---|
Inactive | 默認(rèn)未下拉狀態(tài)。 |
Drag | 下拉中,下拉距離小于刷新距離。 |
OverDrag | 下拉中,下拉距離超過(guò)刷新距離。 |
Refresh | 下拉結(jié)束,回彈至刷新距離,進(jìn)入刷新?tīng)顟B(tài)。 |
Done | 刷新結(jié)束,返回初始狀態(tài)(頂部)。 |
示例
// xxx.ets
@Entry
@Component
struct RefreshExample {
@State isRefreshing: boolean = false
@State counter: number = 0
build() {
Column() {
Refresh({ refreshing: $$this.isRefreshing, offset: 120, friction: 100 }) {
Text('Pull Down and refresh: ' + this.counter)
.fontSize(30)
.margin(10)
}
.onStateChange((refreshStatus: RefreshStatus) = > {
console.info('Refresh onStatueChange state is ' + refreshStatus)
})
.onRefreshing(() = > {
setTimeout(() = > {
this.counter++
this.isRefreshing = false
}, 1000)
console.log('onRefreshing test')
})
}
}
}
審核編輯 黃宇
-
組件
+關(guān)注
關(guān)注
1文章
513瀏覽量
17849 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2369瀏覽量
42900
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論