31 lines
539 B
TypeScript
31 lines
539 B
TypeScript
Component({
|
||
properties: {
|
||
/** 评分 0-10,超出范围自动 clamp */
|
||
score: {
|
||
type: Number,
|
||
value: 0,
|
||
},
|
||
},
|
||
|
||
data: {
|
||
heartEmoji: '💙',
|
||
},
|
||
|
||
observers: {
|
||
score(val: number) {
|
||
const s = val < 0 ? 0 : val > 10 ? 10 : val
|
||
let emoji: string
|
||
if (s > 8.5) {
|
||
emoji = '💖'
|
||
} else if (s > 7) {
|
||
emoji = '🧡'
|
||
} else if (s > 5) {
|
||
emoji = '💛'
|
||
} else {
|
||
emoji = '💙'
|
||
}
|
||
this.setData({ heartEmoji: emoji })
|
||
},
|
||
},
|
||
})
|