是否可以在Resource的索引上显示Laravel \ Nova \ Fields \ Textarea的前25个字符?
答案 0 :(得分:0)
我们遇到了同样的问题,我们就这样解决了
Text::make('Text *', 'text')
->rules('required')
->hideFromIndex(),
Text::make('Text','text')
->displayUsing(function($id) {
$part = strip_tags(substr($id, 0, 25));
return $part . " ...";
})->onlyOnIndex(),
希望这会有所帮助。
答案 1 :(得分:0)
我创建了一个名为ellipsis-textarea的新星包以供娱乐,您可以使用它。
安装-composer require saumini/ellipsis-textarea
用法-
use Saumini\EllipsisTextarea\EllipsisTextarea;
public function fields(Request $request)
{
return [
EllipsisTextarea::make('Copy')
->displayLength(25),
];
}
答案 2 :(得分:0)
只是为了扩展上面的答案,这是我正在使用的函数,该函数仅在省略某些内容时才使用省略号:
Text::make('Description')->rules('max:255')->displayUsing(function ($text) {
if (strlen($text) > 30) {
return substr($text, 0, 30) . '...';
}
return $text;
})
答案 3 :(得分: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);}),
];
}