Laravel PowerGrid表格中实现指定列值为1时修改文本颜色的需求咨询
Laravel PowerGrid表格中实现指定列值为1时修改文本颜色的需求咨询
嘿,我来帮你搞定这个PowerGrid里的文本颜色自定义问题!要实现当Send?列的值为1时改变文本颜色,你可以利用PowerGrid提供的->style()方法,通过闭包来设置条件样式。
直接修改你现有的columns()方法就行,给Send?列添加条件样式判断:
public function columns(): array { return [ Column::make('Invitado', 'invitado') ->sortable() ->searchable(), Column::make('Anticipada', 'anticipada') ->sortable() ->searchable(), Column::make('Whatsapp', 'whatsapp') ->sortable() ->searchable(), Column::make('Cantidad', 'cantidad'), Column::make('Estado', 'estado'), Column::make('Send?', 'send?') // 这里添加条件样式逻辑 ->style(function ($row) { // 判断当前行的send?值是否为1 if ($row->send? === 1) { // 返回自定义CSS样式,比如红色加粗文本 return 'color: #ff0000; font-weight: bold;'; } // 其他值保持默认样式 return ''; }), Column::action('Action') ]; }
简单说下逻辑:
->style()方法接受一个闭包,参数$row代表当前行的数据模型- 在闭包里判断
$row->send?的值是否等于1,如果符合条件就返回你想要的CSS样式字符串 - 你可以根据需求调整样式细节,比如更换颜色代码、调整字体样式等
这样就能实现当Send?列的值为1时,文本自动变成你指定的样式啦!
备注:内容来源于stack exchange,提问作者jeremias rosas
相关产品推荐
相关产品推荐

