我有一个问题,如果其他人在这种情况下,也许他们有一个解决方案,为Laravel兰花我试图使一个复制到剪贴板按钮的列名称与clipboard.js.我不知道如何使用它与Laravel兰花的其他项目,这是好的。
我的布局看起来像这样:
...
protected function columns(): array
{
return [
TD::make('name', 'Name')
->render(function ($item) {
return
Group::make([
Link::make($item->name)->route('platform.item.show', $item),
Button::make('myBtn')->id('#myBtn')
]);
})->sort(),
....
但点击按钮后,我只得到一个错误:
TypeError
Argument 1 passed to Orchid\Screen\Screen::callMethod() must be of the type string, null given, called in /Volumes/T5/www/inventory-manager-laravel/vendor/orchid/platform/src/Screen/Screen.php on line 179
我想要的是在我的script.js中有一个函数,它可以监听这个id,然后使用剪贴板js,有没有更好的方法来实现我的目标我做错了什么?
先谢了
2条答案
按热度按时间piv4azn71#
Jaba,据我理解,按钮必须有一个方法
Button::make('myBtn')->id('#myBtn')->method('foo')
.文档method('methodName')-单击时,表单将发送到当前屏幕中的指定方法
因此,您可以使用
Link::make('myBtn')->id('#myBtn')
并使用->class('foo-class')
对其进行样式设置。Link::make('myBtn')->class('btn btn-primary')->id('#myBtn')
;f8rj6qna2#
所以我想不出一个好的出路,现在我做了一个快速和肮脏的解决方案,这是现在罚款,但不是它应该的方式:
我返回字符串形式的名称,这样用户就可以复制它并添加一个按钮来转到实际页面本身。
对于什么我试图得到实际的副本到剪贴板是
1.我在下面的同一个类中添加了
(我无法复制我的代码而不丢失格式化抱歉的图像)
在这列中我是这样构建的:
我也尝试现在获得的clipboardiderjs与cdn,而不是安装它没有成功
第二种方法是像Multi_Pony建议的那样使用jqeury,但只看到第一个元素,并使用以下方法: