reactjs - 材质 UI 滑块 - 标签格式
问题描述
我有以下范围滑块,它显示从 1000 到 1,000,000 的值。
我想显示标签是一种更易读的格式,例如100k
1M
1k
等。是否可以在工具提示内格式化标签,以便对用户更有意义并且不会破坏用户体验。
我想用这个函数来改变数字的显示方式。
function numFormatter(num) {
if(num > 999 && num < 1000000){
return (num/1000).toFixed(0) + 'K'; // convert to K for number from > 1000 < 1 million
}else if(num > 1000000){
return (num/1000000).toFixed(0) + 'M'; // convert to M for number from > 1 million
}else if(num < 900){
return num; // if value < 1000, nothing to do
}
}
解决方案
是的,有可能。
Material-UI Slider 有名为valueLabelFormat的道具
格式函数值标签的值。
参考:
MUI Slider Props API 文档
props 类型定义来源:Slider.d.ts
valueLabelFormat?: string | ((value: number, index: number) => React.ReactNode);
使用示例:
valueLabelFormat={value => <div>{numFormatter(value)}</div>}
截屏:
推荐阅读
- python - 如何向熊猫数据框添加条件行
- r - R中非线性混合效应的不稳定性(使用nlme包)
- regex - 如何将不带引号的文件名与带引号的名称匹配?
- ios - 在删除帐户之前发出“你确定吗”警报
- android - 如何隐式更新 Android Firebase 中的节点
- julia - 在 Gadfly 中处理统计数据
- sql-server - 在步骤“设置值”上将参数从 SQL Server 代理作业传递到 SSIS 包
- python-3.x - python中的NoSuchElementException xPath错误
- haskell - 结合 Haskell 代码的片段以获得更大的图景
- python - Python:在文本文件和标题中添加序列号