소스 검색

Grid::rows设置回调

jqh 4 년 전
부모
커밋
389be0e1e1
1개의 변경된 파일17개의 추가작업 그리고 2개의 파일을 삭제
  1. 17 2
      src/Grid.php

+ 17 - 2
src/Grid.php

@@ -71,6 +71,11 @@ class Grid
      */
     protected $rows;
 
+    /**
+     * @var array
+     */
+    protected $rowsCallbacks = [];
+
     /**
      * All column names of the grid.
      *
@@ -448,15 +453,25 @@ class Grid
         $this->rows = collect($data)->map(function ($model) {
             return new Row($this, $model);
         });
+
+        foreach ($this->rowsCallbacks as $callback) {
+            $callback($this->rows);
+        }
     }
 
     /**
      * Set grid row callback function.
      *
-     * @return Collection
+     * @return Collection|$this
      */
-    public function rows()
+    public function rows(\Closure $callback = null)
     {
+        if ($callback) {
+            $this->rowsCallbacks[] = $callback;
+
+            return $this;
+        }
+
         return $this->rows;
     }