Laravel Nova进度指标需求:将百分比显示替换为具体数值
解决Laravel Nova Progress Metrics显示具体数值而非百分比的问题
方案一:用progress方法配合displayUsing自定义显示文本
修改calculate方法,手动计算目标数值和当前待处理数值,通过displayUsing指定具体数值的显示格式:
public function calculate(NovaRequest $request) { $totalCount = User::count(); $pendingCount = User::where('user_status', 'pending')->count(); return $this->progress($pendingCount, $totalCount) ->displayUsing(function ($value, $target) { // 可自定义格式,例如"待审核:15 / 120" return "{$value} / {$target}"; }); }
方案二:直接返回自定义数组
如果需要更灵活的控制,也可以直接返回包含核心参数的数组:
public function calculate(NovaRequest $request) { $totalCount = User::count(); $pendingCount = User::where('user_status', 'pending')->count(); return [ 'value' => $pendingCount, 'target' => $totalCount, 'label' => "{$pendingCount} / {$totalCount}", // 可选:设置进度条颜色,支持'success'/'warning'/'danger'等 'color' => 'warning', ]; }
说明
- 两种方案都会保留进度条的比例样式,仅将顶部显示的百分比替换为具体数值
- 可根据需求调整显示文本,比如添加说明性文字(如“待审核用户数:”)
内容的提问来源于stack exchange,提问作者Shubham Dabral
相关产品推荐
相关产品推荐

