自定义的评分组件
你可以参考以下一些例子来自定义组件。 您可以在 重写文档页 中了解有关此内容的更多信息。
Poor+
<Rating
name="hover-feedback"
value={value}
precision={0.5}
onChange={(event, newValue) => {
setValue(newValue);
}}
onChangeActive={(event, newHover) => {
setHover(newHover);
}}
/>
{value !== null && <Box ml={2}>{labels[hover !== -1 ? hover : value]}</Box>}
<Rating name="half-rating" defaultValue={2.5} precision={0.5} />
<Rating name="half-rating-read" defaultValue={2.5} precision={0.5} readOnly />
<Rating name="size-small" defaultValue={2} size="small" />
<Rating name="size-medium" defaultValue={2} />
<Rating name="size-large" defaultValue={2} size="large" />
无障碍设计
(WAI 教程:https://www.w3.org/WAI/tutorials/forms/custom-controls/#a-star-rating)
这个组件的可访问性依赖于:
- 在使用单选框组(radio group)时,其字段在视觉上是被隐藏的。 它包含六个单选按钮,其中五个用于每个星,另一个用于 0 星,其默认情况下处于选中状态。 请确保您提供的
name
属性在父级表单中是独特的。 - 单选按钮的标签需要包含一个确切的文本(“一星”,“两星”,.......),并请确认当页面语言不是英语时,您提供了一个
getLabelText
属性。