Rating 评分
示例
可编辑
用户可以通过交互设置评分。
<template>
<article>
<veui-rating v-model="value"/>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 4
}
}
}
</script>
纯展示
设置 readonly
属性为 true
来展示已有的评分。
<template>
<article>
<veui-rating
v-model="value"
readonly
/>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 4
}
}
}
</script>
评分项数
设置 max
属性值来指定最多展示的评分符号。
<template>
<article>
<veui-rating
v-model="value"
:max="3"
/>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 2
}
}
}
</script>
可清除
设置 clearable
属性为 true
来允许用户通过点击已选评分项来取消选择。
<template>
<article>
<veui-rating
v-model="value"
clearable
/>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 4
}
}
}
</script>
说明文本
设置 labels
属性值来指定每个评分符号对应的说明文本。label-position
属性值可以指定说明文本是内联展示,还是通过浮层提示展示。
label-position="inline"
(default)
label-position="popup"
<template>
<article>
<section>
<h4><code>label-position="inline"</code> (default)</h4>
<veui-rating
v-model="value"
:labels="labels"
/>
</section>
<section>
<h4><code>label-position="popup"</code></h4>
<veui-rating
v-model="value"
:labels="labels"
label-position="popup"
/>
</section>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 4,
labels: {
1: '非常不满意',
2: '不满意',
3: '一般',
4: '满意',
5: '非常满意'
}
}
}
}
</script>
半星
设置 allow-half
属性为 true
来允许半星评分。
<template>
<article>
<veui-rating
v-model="value"
allow-half
/>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 4
}
}
}
</script>
自定义
使用 symbol
插槽来自定义评星项目的符号。
<template>
<article>
<veui-rating v-model="value">
<template #symbol>
赞
</template>
</veui-rating>
</article>
</template>
<script>
import { Rating } from 'veui'
export default {
components: {
'veui-rating': Rating
},
data () {
return {
value: 4
}
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
max | number | 5 | 最多展示的评分项个数,只能设置为整数。 |
value | number | - |
已选的评分分数。范围为从 |
readonly | boolean | false | 是否为只读状态。 |
clearable | boolean | false | 是否允许清除已选评分项。 |
allow-half | boolean | false | 是否允许半星评分。 |
labels | Record<number, string> | - | 每个评分符号对应的说明文本。 |
label-position | 'inline' | 'popup' | 'inline' | 说明文本的展示方式,inline 则内联展示,popup 则通过悬浮提示展示。 |
插槽
名称 | 描述 | ||||||
---|---|---|---|---|---|---|---|
symbol | 每个评分项的符号区域。 默认内容:展示星星符号。
| ||||||
label | 每个评分项的符号区域。 默认内容:
|
事件
名称 | 描述 |
---|---|
change |
评分状态变化后触发,回调参数为 |
自定义样式
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
--dls-rating-symbol-gap | <length> | - | 评分项的间距。 |
--dls-rating-label-spacing | <length> | - | 说明文本与评分项之间的间距。 |