dcat-admin

dcat-admin


数据表格行内编辑

<h1>数据表格行内编辑</h1> <p>数据表格所有使用行内编辑的列字段,都必须在<code>form</code>表单中定义一个相同的表单字段,否则将无法进行编辑。</p> <h3>文本 (editable)</h3> <p>启用</p> <pre><code class="language-php">$grid-&amp;gt;column('title')-&amp;gt;editable(); // 编辑成功后刷新页面 $grid-&amp;gt;column('nickname')-&amp;gt;editable(true);</code></pre> <p>效果 <img src="https://cdn.learnku.com/uploads/images/202109/14/38389/mX4Za4nj1y.png!large" alt="" /></p> <h3>开关 (switch)</h3> <p>快速将列变成开关组件,使用方法如下:</p> <pre><code class="language-php">$grid-&amp;gt;column('status')-&amp;gt;switch(); // 设置颜色 use Dcat\Admin\Admin; $grid-&amp;gt;column('status')-&amp;gt;switch(Admin::color()-&amp;gt;info()); $grid-&amp;gt;column('status')-&amp;gt;switch('#333'); </code></pre> <p>这个功能需要你在<code>form</code>表单方法中同样设置一个<code>status</code>字段</p> <pre><code class="language-php">$form-&amp;gt;hidden('status') -&amp;gt;customFormat(function ($v) { return $v == '打开' ? 1 : 0; }) -&amp;gt;saving(function ($v) { return $v ? '打开' : '关闭'; }); // 或者 $form-&amp;gt;switch('status') -&amp;gt;customFormat(function ($v) { return $v == '打开' ? 1 : 0; }) -&amp;gt;saving(function ($v) { return $v ? '打开' : '关闭'; });</code></pre> <p>编辑成功后刷新页面</p> <pre><code class="language-php">$grid-&amp;gt;column('status')-&amp;gt;switch('', true);</code></pre> <h3>开关组 (switchGroup)</h3> <p>&gt; {tip} 注意:在<code>grid</code>中对某字段设置<code>switchGroup</code>默认的保存结果是<code>0</code>或<code>1</code>,如需修改可以通过<code>$form-&amp;gt;hidden(xxx)-&amp;gt;saving(...)</code>方法修改。</p> <p>快速将列变成开关组件组,使用方法如下:</p> <pre><code class="language-php">$grid-&amp;gt;switch_group-&amp;gt;switchGroup([ 'hot' =&amp;gt; '热门', 'new' =&amp;gt; '最新', 'recommend' =&amp;gt; '推荐', 'image.show' =&amp;gt; '显示图片', // 更新对应关联模型 ]); // 或 // 不写label会自动从翻译文件翻译,具体使用请参照 “字段翻译” 章节 $grid-&amp;gt;switch_group-&amp;gt;switchGroup(['is_new', 'is_hot', 'published']);</code></pre> <p>这个功能需要你在<code>form</code>表单方法中同样设置对应的字段</p> <pre><code class="language-php">$form-&amp;gt;switch('hot') -&amp;gt;customFormat(function ($v) { return $v == '打开' ? 1 : 0; }) -&amp;gt;saving(function ($v) { return $v ? '打开' : '关闭'; }); $form-&amp;gt;switch('new') -&amp;gt;customFormat(function ($v) { return $v == '打开' ? 1 : 0; }) -&amp;gt;saving(function ($v) { return $v ? '打开' : '关闭'; });</code></pre> <p>编辑成功后刷新页面</p> <pre><code class="language-php">$grid-&amp;gt;column('switch_group')-&amp;gt;switchGroup([...], true);</code></pre> <p><img src="{{public}}/assets/img/screenshots/grid-column-switch-group.png" alt="" /></p> <h3>下拉选框 (select)</h3> <pre><code class="language-php">$grid-&amp;gt;column('options')-&amp;gt;select([ 1 =&amp;gt; 'Sed ut perspiciatis unde omni', 2 =&amp;gt; 'voluptatem accusantium doloremque', 3 =&amp;gt; 'dicta sunt explicabo', 4 =&amp;gt; 'laudantium, totam rem aperiam', ]);</code></pre> <p><code>select</code> 也支持参数为闭包,使用方法和<code>editable</code>的<code>select</code>类似。</p> <p>编辑成功后刷新页面</p> <pre><code class="language-php">$grid-&amp;gt;column('options')-&amp;gt;select([...], true);</code></pre> <p><img src="{{public}}/assets/img/screenshots/grid-column-select.png" alt="" /></p> <h3>单选框 (radio)</h3> <pre><code class="language-php">$grid-&amp;gt;column('options')-&amp;gt;radio([ 1 =&amp;gt; 'Sed ut perspiciatis unde omni', 2 =&amp;gt; 'voluptatem accusantium doloremque', 3 =&amp;gt; 'dicta sunt explicabo', 4 =&amp;gt; 'laudantium, totam rem aperiam', ]);</code></pre> <p><code>radio</code> 也支持参数为闭包,使用方法和<code>editable</code>的<code>select</code>类似。</p> <p>编辑成功后刷新页面</p> <pre><code class="language-php">$grid-&amp;gt;column('options')-&amp;gt;radio([...], true);</code></pre> <p><img src="https://cdn.learnku.com/uploads/images/202109/14/38389/6Bo4phkB3f.png!large" alt="" /></p> <h3>多选框 (checkbox)</h3> <pre><code class="language-php">$grid-&amp;gt;column('options')-&amp;gt;checkbox([ 1 =&amp;gt; 'Sed ut perspiciatis unde omni', 2 =&amp;gt; 'voluptatem accusantium doloremque', 3 =&amp;gt; 'dicta sunt explicabo', 4 =&amp;gt; 'laudantium, totam rem aperiam', ]);</code></pre> <p><code>checkbox</code> 也支持参数为闭包,使用方法和<code>editable</code>的<code>select</code>类似。</p> <p>编辑成功后刷新页面</p> <pre><code class="language-php">$grid-&amp;gt;column('options')-&amp;gt;checkbox([...], true);</code></pre> <p><img src="{{public}}/assets/img/screenshots/grid-column-checkbox.png" alt="" /></p> <h3>textarea</h3> <pre><code class="language-php">$grid-&amp;gt;column('...')-&amp;gt;textarea();</code></pre> <p><img src="https://cdn.learnku.com/uploads/images/202109/14/38389/wViO5EoPBg.png!large" alt="" /></p>

页面列表

ITEM_HTML