dcat-admin

dcat-admin


数据表格动作

<h1>数据表格动作</h1> <h2>表格动作基类 (GridAction)</h2> <p>所有数据表格相关的动作类,包括<a href="model-grid-custom-tools.md">工具栏按钮</a>(<code>AbstractTool</code>)、 <a href="model-grid-actions.md">行操作</a>(<code>RowAction</code>)、<a href="model-grid-custom-tools.md#batch">批量操作</a>(<code>BatchAction</code>) 等等操作按钮的基类都继承自<code>Dcat\Admin\Grid\GridAction</code>类,而<code>GridAction</code>则继承自<a href="action.md">动作类基类</a>(<code>Action</code>)。</p> <p>下面将介绍<code>GridAction</code>类中增加的方法或属性</p> <h3>表格实例 (parent)</h3> <p>通过 <code>parent</code> 属性可以获取到表格实例 (<code>Dcat\Admin\Grid</code>)。</p> <p>下面简单的演示下用法,这段代码没有任何实际意义</p> <pre><code class="language-php">use Dcat\Admin\Grid\GridAction class MyAction extend GridAction { public function html() { $gridName = $this-&amp;gt;parent-&amp;gt;getName(); return ...; } ... }</code></pre> <h3>表格页面地址 (resource)</h3> <p>通过 <code>resource</code> 方法可以获取到表格页面的地址。</p> <p>下面简单的演示下用法,这段代码没有任何实际意义</p> <pre><code class="language-php">use Dcat\Admin\Grid\GridAction class MyAction extend GridAction { public function html() { // 假如你的列表页路径为 /admin/users,则这里的值为 http://域名/admin/users $path = $this-&amp;gt;resource(); return ...; } ... }</code></pre> <h2>工具栏操作按钮基类 (AbstractTool)</h2> <p>表格工具栏按钮基类(<code>Dcat\Admin\Grid\Tools\AbstractTool</code>)继承自<code>GridAction</code>类。</p> <p>下面将介绍<code>AbstractTool</code>类中增加的方法或属性</p> <h3>按钮样式 (style)</h3> <p>通过 <code>style</code> 属性可以设置工具栏按钮的类(<code>class</code>),默认值为 <code>btn btn-white waves-effect</code>。</p> <p>下面简单的演示下用法</p> <pre><code class="language-php">use Dcat\Admin\Grid\AbstractTool class MyTool extend AbstractTool { protected $style = 'btn btn-outline-primary waves-effect'; ... }</code></pre> <h2>批量操作基类 (BatchAction)</h2> <p>表格工具栏按钮基类(<code>Dcat\Admin\Grid\Tools\BatchAction</code>)继承自<code>GridAction</code>类。</p> <p>下面将介绍<code>BatchAction</code>类中增加的方法或属性</p> <h3>获取选中行的主键数组 (getSelectedKeysScript)</h3> <p>通过 <code>getSelectedKeysScript</code> 方法可以生成获取选中的行的主键数组的<code>JS</code>代码。</p> <p>下面简单的演示下用法</p> <pre><code class="language-php">use Dcat\Admin\Grid\BatchAction class MyBatchAction extend BatchAction { /** * {@inheritdoc} */ public function actionScript() { $warning = __('No data selected!'); return &amp;lt;&amp;lt;&amp;lt;JS var key = {$this-&amp;gt;getSelectedKeysScript()} if (key.length === 0) { Dcat.warning('{$warning}'); return ; } Object.assign(data, {_key:key}); JS; } ... }</code></pre> <h2>行操作基类 (RowAction)</h2> <p>表格工具栏按钮基类(<code>Dcat\Admin\Grid\Tools\RowAction</code>)继承自<code>GridAction</code>类。</p> <p>下面将介绍<code>RowAction</code>类中增加的方法或属性</p> <h3>行数据 (row)</h3> <p>通过 <code>row</code> 属性可以获取到当前行数据内容。</p> <p>下面简单的演示下用法,这段代码没有任何实际意义</p> <pre><code class="language-php">use Dcat\Admin\Grid\RowAction class MyRowAction extend RowAction { public function html() { // 获取当前行的字段值 $username = $this-&amp;gt;row-&amp;gt;username; // 转化为数组 $rowArray = $this-&amp;gt;row-&amp;gt;toArray(); return ...; } ... }</code></pre> <h3>主键值 (getKey)</h3> <p>通过 <code>getKey</code> 属性方法可以获取到当前行数据的主键值(<code>ID</code>)。</p> <p>下面简单的演示下用法,这段代码没有任何实际意义</p> <pre><code class="language-php">use Dcat\Admin\Grid\RowAction class MyRowAction extend RowAction { public function html() { $id = $this-&amp;gt;getKey(); return ...; } ... }</code></pre>

页面列表

ITEM_HTML