有没有办法在资源的索引上显示 Laravel\Nova\Fields\Textarea 的前 25 个字符?
问问题
5244 次
4 回答
8
只是为了扩展上面的答案,这是我正在使用的函数,它仅在切断某些内容时使用省略号:
Text::make('Description')->rules('max:255')->displayUsing(function ($text) {
if (strlen($text) > 30) {
return substr($text, 0, 30) . '...';
}
return $text;
})
于 2019-03-25T16:32:06.850 回答
6
我们遇到了同样的问题,我们这样解决了
Text::make('Text *', 'text')
->rules('required')
->hideFromIndex(),
Text::make('Text','text')
->displayUsing(function($id) {
$part = strip_tags(substr($id, 0, 25));
return $part . " ...";
})->onlyOnIndex(),
希望这可以帮助。
于 2018-11-13T08:41:08.923 回答
1
为了好玩,我创建了一个名为ellipsis-textarea的 nova 包,您可以使用它。
安装 -composer require saumini/ellipsis-textarea
用法 -
use Saumini\EllipsisTextarea\EllipsisTextarea;
public function fields(Request $request)
{
return [
EllipsisTextarea::make('Copy')
->displayLength(25),
];
}
于 2018-11-14T05:29:10.203 回答
0
这是我最终完成此任务的两种不同方式,而无需使用 Macolson 和 ndee 的答案添加额外的作曲家要求:
use Illuminate\Support\Str;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\BelongsTo;
public function fields(Request $request)
{
return [
ID::make(__('ID'), 'id')->sortable(),
Text::make('Label')
->sortable()
->rules('required', 'max:255')
->displayUsing(function($text) {
return Str::limit($text, 30);}),
BelongsTo::make('Survey Field', 'field', \App\Nova\SurveyField::class)
// ->hideFromIndex()
->rules('required')
->displayUsing(function($object) {
$text = $object->title;
return Str::limit($text, 30);}),
];
}
于 2020-10-26T23:24:58.807 回答