成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

鴻蒙開發(fā)ArkUI優(yōu)秀實踐—Rating組件

系統(tǒng) OpenHarmony
本節(jié)講解評分條組件Rating的兩種基本使用方法:用作表單組件和用作展示組件。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

本節(jié)講解評分條組件Rating的兩種基本使用方法:用作表單組件和用作展示組件。

首先我們看下Rating組件的接口、屬性和事件的說明:

/**
* 3.9 Rating組件
* 評分條組件。
*
* 接口:
* Rating(options?: { rating: number, indicator?: boolean })
* rating:number 默認(rèn)值0,設(shè)置并接收評分值。
* indicator:boolean 默認(rèn)值false,僅作為指示器使用,不可操作。
*
* 屬性:
* .stars(number) 默認(rèn)值5,設(shè)置評星總數(shù)。
* .stepSize(number) 默認(rèn)值0.5,操作評級的步長。
* .starStyle({
* backgroundUri: string, // 未選中的星級的圖片路徑
* foregroundUri: string, // 選中的星級的圖片路徑
* secondaryUri?: string // 部分選中的星級的圖片路徑
* })
* 圖片路徑可由用戶自定義或使用系統(tǒng)默認(rèn)圖片,僅支持本地。
*
* 事件:
* onChange(callback:(value: number) => void) 操作評分條的評星發(fā)生改變時觸發(fā)該回調(diào)。
*/

1、用作表單組件

Rating組件用作表單組件時,通常需要配合onChange事件獲得評分后的值,用于后續(xù)表單提交的參數(shù)值。接口參數(shù)rating是必須提供的,indicator參數(shù)不需要提供。屬性.stars、.stepSize和.starStyle的默認(rèn)值能滿足我們絕大部分場景下的需要,所以也不需要提供。示范代碼如下:

H8({text:'1.用作表單組件'})
Row(){
TextBody1({text: '請給客服評分'})
Blank()
Rating({rating: 0})
.onChange((value: number) => {
console.log('評分結(jié)果為:' + value.toString())
})
}.width('100%')

實際項目中可以將上述H8和TextBody1的文本改為文本資源調(diào)用(string.json),以適應(yīng)多語言顯示的需要。運(yùn)行效果如下:

3.9 Rating組件-開源基礎(chǔ)軟件社區(qū)

2、用作展示組件

將Rating組件用作展示組件時,需要設(shè)置接口參數(shù)indicator為true,使Rating組件不可操作。示范代碼如下:

H8({text:'2.用作展示組件'})
Row(){
TextBody1({text: '客服綜合評分'})
Blank()
Rating({rating: 3.7, indicator: true}) // 作為指示器使用
.onChange((value: number) => {
console.log('評分結(jié)果為:' + value.toString())
})
}.width('100%')

運(yùn)行效果如下:

3.9 Rating組件-開源基礎(chǔ)軟件社區(qū)

這里有三個小問題:

1.評分組件展示的顆粒度最小為0.5,無法表現(xiàn)3.7分,只能“四舍五入”后展示。3.7分和3.5分效果相同,3.8分和4分效果相同。

2.indicator賦值true后,雖然點(diǎn)擊后不會改變評分值,但是“五角星”變得很小了。

3.上述代碼中我故意使用了onChange事件,發(fā)現(xiàn)仍然可以捕捉評分值,但永遠(yuǎn)是3.5(最接近3.7的分值)。當(dāng)然,實際應(yīng)用中,如果Rating組件用作展示組件,不要寫onChange事件。

基于上述Beta版組件的不足,我的使用建議是不要使用indicator參數(shù),而是用enabled屬性實現(xiàn)效果。代碼如下:

Row(){
TextBody1({text: '客服綜合評分'})
Blank()
Rating({rating: 3.7}) // 不使用indicator參數(shù)
.enabled(false) // 使用enabled參數(shù)
.onChange((value: number) => {
console.log('評分結(jié)果為:' + value.toString())
})
}.width('100%')

現(xiàn)在,外觀恢復(fù)正常了,onChange事件也徹底失效了。效果如下:

3.9 Rating組件-開源基礎(chǔ)軟件社區(qū)

OK,上面是個小插曲,現(xiàn)在正式演示Rating組件作為展示組件的完整用法,代碼如下:

H8({text:'綜合評分'})
Row(){
TextBody1({text: '商品評分(4.4)'})
Blank()
Rating({rating: 4.4})
.enabled(false)
.stars(5) // 設(shè)置評星總數(shù)
.stepSize(0.5) // 操作評級的步長
.starStyle({
backgroundUri:'/common/images/star_bg.png', // 未選中的星級的圖片路徑
foregroundUri:'/common/images/star_fg.png', // 選中的星級的圖片路徑
secondaryUri:'/common/images/star_2.png' // 部分選中的星級的圖片路徑
})
}.width('100%')
Row(){
TextBody1({text: '物流評分(3.7)'})
Blank()
Rating({rating: 3.7})
.enabled(false)
.stars(5)
.stepSize(0.5)
.starStyle({
backgroundUri:'/common/images/star_bg.png',
foregroundUri:'/common/images/star_fg.png',
secondaryUri:'/common/images/star_2.png'
})
}.width('100%')
Row(){
TextBody1({text: '客服評分(4.8)'})
Blank()
Rating({rating: 4.8})
.enabled(false)
.stars(5)
.stepSize(0.5)
.starStyle({
backgroundUri:'/common/images/star_bg.png',
foregroundUri:'/common/images/star_fg.png',
secondaryUri:'/common/images/star_2.png'
})
}.width('100%')

效果如下:

3.9 Rating組件-開源基礎(chǔ)軟件社區(qū)

最后,提醒一點(diǎn),當(dāng)前評分總數(shù)建議不要設(shè)置(使用默認(rèn)值5即可)。如果設(shè)置為10,你會發(fā)現(xiàn),Rating組件寬度不變,圖片會被壓縮變形。

源碼地址:https://gitee.com/cloudev/harmonyos3/tree/master/3.0/BaseComponent 。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-08-04 10:12:49

桌面技術(shù)

2021-12-15 09:51:42

Web開發(fā)數(shù)據(jù)

2019-07-22 10:42:11

React組件前端

2024-05-31 08:30:23

2023-06-08 16:47:09

軟件開發(fā)工具

2023-02-23 15:56:51

2023-09-02 20:55:04

微服務(wù)架構(gòu)

2023-07-06 14:51:30

開發(fā)高質(zhì)量軟件

2022-11-30 10:34:17

2019-07-20 23:30:48

開發(fā)技能代碼

2022-01-07 08:00:00

Node.js開發(fā)Web

2020-05-25 11:14:59

代碼程序開發(fā)

2023-02-07 15:33:16

云遷移數(shù)據(jù)中心云計算

2024-12-12 09:02:35

2022-10-24 14:49:54

ArkUI心電圖組件

2022-07-07 14:01:59

管家服務(wù)系統(tǒng)ArkUI eTS

2022-07-06 20:24:08

ArkUI計時組件

2019-11-22 15:27:07

技術(shù)漏洞管理網(wǎng)絡(luò)

2019-11-24 23:39:01

漏洞管理漏洞風(fēng)險

2019-12-16 12:11:53

Docker容器Kubernetes
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久成人av电影 | 亚洲第一网站 | 欧美大片黄 | 日韩一区二区福利视频 | 国产午夜精品久久久 | 久久r精品 | 久久久网 | 久久99精品视频 | 少妇一级淫片aaaaaaaaa | 麻豆av在线免费观看 | 午夜成人免费视频 | 亚洲国产精品91 | 亚洲欧美中文日韩在线 | 99这里只有精品视频 | 免费久久久 | 欧美黑人一级爽快片淫片高清 | 欧美最猛黑人xxxx黑人 | 欧美激情视频网站 | 久久久精品影院 | 日韩毛片网 | 成人在线观看免费爱爱 | 国产日韩精品一区 | 国产在线观看一区二区 | 国产精品女人久久久 | 香蕉视频91| 久久av一区 | 欧美日韩成人在线观看 | 午夜视频一区 | 精品欧美乱码久久久久久1区2区 | 老司机久久 | 日韩欧美三级 | 亚洲欧美一区二区三区国产精品 | www.日韩系列 | 欧美久久一级特黄毛片 | www.日日操 | 嫩呦国产一区二区三区av | 国产精品一区二区久久 | 中文字幕在线一区 | 亚洲资源站 | 精品三级在线观看 | 欧美精品一区二区在线观看 |