数据操作

数据表格默认有3个行操作编辑查看删除,可以通过下面的方式关闭它们:

  1. $grid->actions(function ($actions) {
  2. // 去掉删除
  3. $actions->disableDelete();
  4. // 去掉编辑
  5. $actions->disableEdit();
  6. // 去掉查看
  7. $actions->disableView();
  8. });
  9. // 全部关闭
  10. $grid->disableActions();

可以通过传入的$actions参数来获取当前行的数据:

  1. $grid->actions(function ($actions) {
  2. // 当前行的数据数组
  3. $actions->row;
  4. // 获取当前行主键值
  5. $actions->getKey();
  6. });

默认情况下有一个批量删除的操作,有下面的一些使用方法

  1. $grid->batchActions(function ($batch) {
  2. $batch->disableDelete();
  3. });
  4. // 去掉批量操作
  5. $grid->disableBatchActions();

自定义操作

从v1.7.3版本开始,以下文档废弃,请不要再使用。请使用文档.

如果有自定义的操作按钮,可以通过下面的方式添加:

  1. $grid->actions(function ($actions) {
  2. // append一个操作
  3. $actions->append('<a href=""><i class="fa fa-eye"></i></a>');
  4. // prepend一个操作
  5. $actions->prepend('<a href=""><i class="fa fa-paper-plane"></i></a>');
  6. });

如果有比较复杂的操作,可以参考下面的方式:

先定义操作类

  1. <?php
  2. namespace App\Admin\Extensions;
  3. use Encore\Admin\Admin;
  4. class CheckRow
  5. {
  6. protected $id;
  7. public function __construct($id)
  8. {
  9. $this->id = $id;
  10. }
  11. protected function script()
  12. {
  13. return <<<SCRIPT
  14. $('.grid-check-row').on('click', function () {
  15. // Your code.
  16. console.log($(this).data('id'));
  17. });
  18. SCRIPT;
  19. }
  20. protected function render()
  21. {
  22. Admin::script($this->script());
  23. return "<a class='btn btn-xs btn-success fa fa-check grid-check-row' data-id='{$this->id}'></a>";
  24. }
  25. public function __toString()
  26. {
  27. return $this->render();
  28. }
  29. }

然后添加操作:

  1. $grid->actions(function ($actions) {
  2. // 添加操作
  3. $actions->append(new CheckRow($actions->getKey()));
  4. });