|
|
7 ヶ月 前 | |
|---|---|---|
| .. | ||
| Form | 7 ヶ月 前 | |
| Show | 7 ヶ月 前 | |
| CopyableHelper.php | 7 ヶ月 前 | |
| README.md | 7 ヶ月 前 | |
为 Dcat Admin 的 Show 和 Form 页面添加复制按钮功能,方便用户复制字段内容。
use App\Admin\Extensions\CopyableHelper;
// 在 Controller 的 detail 方法中
protected function detail($id)
{
$show = Show::make($id, new YourModel(), function (Show $show) {
// 单个字段添加复制功能
CopyableHelper::addToShow($show, 'id', 'ID');
CopyableHelper::addToShow($show, 'name', '名称');
// 批量添加复制功能
CopyableHelper::addMultipleToShow($show, [
'email' => '邮箱',
'phone' => '电话',
'address' => '地址'
]);
// 带格式化的复制功能
CopyableHelper::addFormattedToShow($show, 'created_at', '创建时间', function($value) {
return $value ? $value->format('Y-m-d H:i:s') : '';
});
});
return $show;
}
use App\Admin\Extensions\CopyableHelper;
// 在 Controller 的 form 方法中
protected function form()
{
return Form::make(new YourModel(), function (Form $form) {
// 普通表单字段
$form->text('name', '名称');
// 只读字段添加复制功能
CopyableHelper::addToForm($form, 'id', 'ID');
CopyableHelper::addToForm($form, 'created_at', '创建时间');
// 批量添加复制功能
CopyableHelper::addMultipleToForm($form, [
'uuid' => 'UUID',
'token' => 'Token'
]);
});
}
use App\Admin\Extensions\Show\Copyable as ShowCopyable;
use App\Admin\Extensions\Form\Copyable as FormCopyable;
// Show 页面
$show->field('field_name', '字段标签')->as(function ($value) {
return (new ShowCopyable())->setValue($value)->render();
});
// Form 页面
$copyableField = new FormCopyable('field_name', ['字段标签']);
$copyableField->setForm($form);
copyable() 方法navigator.clipboard APIdocument.execCommand 方法