antd-mini
Version:
antd-mini 是支付宝小程序 UI 组件库,遵循 Ant Design 规范。
149 lines (122 loc) • 4.74 kB
Markdown
---
nav:
path: /components
group:
title: 反馈引导
order: 12
toc: 'content'
---
用于展示事物评级以及快速打分的组件。
在 `index.json` 中引入组件
```json
"usingComponents": {
"ant-rate": "antd-mini/es/Rate/index"
"ant-radio": "antd-mini/Rate/index"
}
```
> `count` 属性指定 star 总数, `allowHalf` 属性允许半星, `allowClear` 属性允许再次点击后清除。
```xml
<ant-rate
defaultValue="{{3.5}}"
count="{{5}}"
allowHalf
allowClear
onChange="onChange"
bindchange="onChange"
/>
```
```js
Page({
onChange(value) {
console.log(value);
},
});
```
```xml
<ant-rate defaultValue="{{3}}" readonly />
```
> `value` 属性和 `change` 事件,配合可以实现受控模式。这里的例子中通过 `ant-stepper` 组件改变 `value` 状态,`ant-rate` 组件 `value` 状态也能一起变化。
```xml
<ant-rate
value="{{value}}"
onChange="handleChange"
bindchange="handleChange"
/>
<ant-stepper
value="{{value}}"
min="{{0}}"
max="{{5}}"
onChange="handleChange"
bindchange="handleChange"
/>
```
```js
Page({
data: {
value: 3,
},
handleChange(value) {
console.log(value);
this.setData({
value: value.detail,
});
this.setData({
value,
});
},
});
```
> 参考下面 [Demo 代码](
<code src='../../demo/pages/Rate/index'></code>
| 属性 | 说明 | 类型 | 默认值 |
| ------------------------ | ---------------------- | ------------------------ | -------------------------- |
| allowHalf | 是否允许半星 | `boolean` | `false` |
| allowClear | 是否允许再次点击后清除 | `boolean` | `true` |
| className | 类名 | `string` | - |
| character | 自定义字符 | `slot` | `<icon type="StarFill" />` |
| characterActiveClassName | 自定义字符选中状态类名 | `string` | - |
| characterClassName | 自定义字符类名 | `string` | - |
| count | star 总数 | `number` | `5` |
| defaultValue | 初始值 | `number` | `0` |
| gutter | 间距,单位 `px` | `number` | `4` |
| readonly | 只读,无法进行交互 | `boolean` | `false` |
| style | 样式 | `string` | - |
| value | 星级(受控) | `number` | - |
|
|
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
| 变量名 | 默认值 | 深色模式默认值 | 备注 |
| ------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------- |
| --rate-active-icon | <div style="width: 150px; height: 30px; background-color: #ff9f18; color: #ffffff;">
| --rate-icon-color | <div style="width: 150px; height: 30px; background-color: #eeeeee; color: #333333;">