重现步骤
导入 { Rating } 从 '@mui/material';
看起来是因为if (precision < 1) { const items = Array.from(new Array(1 / precision));
当前行为
Rating Component 不支持小数 精度 值,如 0.4、0.3、0.6
预期行为
- 无响应*
上下文
- @mui/material 5.14.17
你的环境
npx @mui/envinfo
Don't forget to mention which browser you used.
Output from `npx @mui/envinfo` goes here.
搜索关键词: rating component decimal numbers error
7条答案
按热度按时间6rvt4ljy1#
根据https://mui.com/material-ui/api/rating/#rating-prop-precision文档,没有关于小数使用限制的内容。
rseugnpd2#
看起来这个bug报告没有足够的信息让我们中的一个人复现它。
请提供一个CodeSandbox(https://material-ui.com/r/issue-template-latest),一个指向GitHub仓库的链接,或者提供一个最小的代码示例来重现问题。
以下是提供最小示例的一些提示:https://stackoverflow.com/help/mcve。
2ledvvac3#
由于问题缺少关键信息且已处于7天不活跃状态,因此已被自动关闭。如果您希望看到问题重新打开,请提供缺失的信息。
bjg7j2ky4#
抱歉延迟了。这里是codesandbox示例的链接
https://codesandbox.io/p/sandbox/blue-sun-3d4ht7?file=%2Fsrc%2FApp.tsx%3A17%2C22
e3bfsja25#
我认为这是一个文档问题,而不是
可以使用value prop显示任何浮点数的评分。使用precision prop定义允许的最小增量值变化。
我们可以说:“如果你传递
precision={0.5}
,它支持半星评分。”我非常确定组件的设计并不打算支持“0.3颗星”。
h4cxqtbf6#
如果将这些信息添加到文档中,那将会非常好。有时候向设计师解释这些信息可能会很困难。
wlwcrazw7#
这看起来像是一个bug,我已经发现了类似的过去问题 - #16939 。
precision
属性不仅仅局限于1
或0.5
。它还支持其他小数值。例如,如果你将precision
设置为0.2
,它也能正常工作,如下所示: CodeSandbox 。在这个例子中,由于0.2
(0.2 * 5 = 1)的精度设置,评分项在悬停时会分成5部分(5个部分)。同样,像
0.3
这样的精度值和其他小数也应该可以工作。例如,如果精度为0.3
,它应该分成3部分并四舍五入到1(0.3 * 3 = 0.9,四舍五入到1)。或者开发者应该传递精确的精度值(precision=0.3333333333)