单/复选框
<h1>单/复选框</h1>
<h2>单选框</h2>
<p>通过 <code>Dcat\Admin\Widgets\Radio</code>类可以很方便地快速构建单选框表单。</p>
<h3>基本使用</h3>
<pre><code class="language-php">&lt;?php
use Dcat\Admin\Widgets\Radio;
// 表单 name 属性
$name = 'state';
// 选项
$options = [
1 =&gt; '未处理',
2 =&gt; '已处理',
3 =&gt; '已拒绝',
];
$radio = Radio::make($name, $options)-&gt;check(1); // 选中第一个选项</code></pre>
<p>效果</p>
<p><a href="{{public}}/assets/img/screenshots/radio-1.png" target="_blank">
<img src="{{public}}/assets/img/screenshots/radio-1.png" style="box-shadow:0 1px 6px 1px rgba(0, 0, 0, 0.12)" >
</a></p>
<h3>显示在同一行 (inline)</h3>
<pre><code class="language-php">&lt;?php
use Dcat\Admin\Widgets\Radio;
$name = 'state';
$options = [
1 =&gt; '未处理',
2 =&gt; '已处理',
3 =&gt; '已拒绝',
];
$radio = Radio::make($name, $options)-&gt;check(1)-&gt;inline();</code></pre>
<p>效果</p>
<p><a href="{{public}}/assets/img/screenshots/radio-2.png" target="_blank">
<img src="{{public}}/assets/img/screenshots/radio-2.png" style="box-shadow:0 1px 6px 1px rgba(0, 0, 0, 0.12)" >
</a></p>
<h3>设置禁选的选项 (disable)</h3>
<pre><code class="language-php">&lt;?php
use Dcat\Admin\Widgets\Radio;
$name = 'state';
$options = [
1 =&gt; '未处理',
2 =&gt; '已处理',
3 =&gt; '已拒绝',
];
$radio = Radio::make($name, $options)-&gt;inline()-&gt;disable([2, 3]);</code></pre>
<p>效果</p>
<p><a href="{{public}}/assets/img/screenshots/radio-3.png" target="_blank">
<img src="{{public}}/assets/img/screenshots/radio-3.png" style="box-shadow:0 1px 6px 1px rgba(0, 0, 0, 0.12)" >
</a></p>
<h3>设置样式 (style)</h3>
<p>通过<code>style</code>方法可以设置单选框的样式,支持<code>primary</code>、<code>info</code>、<code>success</code>、<code>danger</code>。</p>
<h3>设置尺寸</h3>
<p>单选框支持3中尺寸,使用方法如下</p>
<p><code>small</code>设置为小尺寸</p>
<pre><code class="language-php">$radio-&gt;small();</code></pre>
<p><code>large</code>设置为大尺寸</p>
<pre><code class="language-php">$radio-&gt;large();</code></pre>
<h2>复选框</h2>
<p>通过 <code>Dcat\Admin\Widgets\Checkbox</code>类可以很方便地快速构建复选框表单,并且复选框类是属于<code>Radio</code>的子类,因此用法与<code>Radio</code>类基本一致。</p>
<h3>基本用法</h3>
<pre><code class="language-php">&lt;?php
use Dcat\Admin\Widgets\Checkbox;
// 表单 name 属性,因为此处是多选,所以需要加上中括号
$name = 'hobbies[]';
// 选项
$options = [
1 =&gt; '唱',
2 =&gt; '跳',
3 =&gt; 'RAP',
4 =&gt; '打篮球',
];
$checkbox = Checkbox::make($name, $options)
-&gt;inline()
-&gt;check([1, 2]); // 这里允许传递数组,默认选中多个选项</code></pre>
<p>效果</p>
<p><a href="{{public}}/assets/img/screenshots/checkbox-1.png" target="_blank">
<img src="{{public}}/assets/img/screenshots/checkbox-1.png" style="box-shadow:0 1px 6px 1px rgba(0, 0, 0, 0.12)" >
</a></p>
<h3>全选</h3>
<p>通过<code>checkAll</code>方法可以选中全部选项。</p>
<pre><code class="language-php">&lt;?php
use Dcat\Admin\Widgets\Checkbox;
// 表单 name 属性,因为此处是多选,所以需要加上中括号
$name = 'hobbies[]';
// 选项
$options = [
1 =&gt; '唱',
2 =&gt; '跳',
3 =&gt; 'RAP',
4 =&gt; '打篮球',
];
$checkbox = Checkbox::make($name, $options)
-&gt;inline()
-&gt;checkAll(); // 全部选中</code></pre>
<p><code>checkAll</code>方法也允许全选的同时排除指定选项。</p>
<pre><code class="language-php">$checkbox = Checkbox::make($name, $options)
-&gt;inline()
-&gt;checkAll([1, 3]); // 全部选中,但是排除key为1和3的选项</code></pre>
<h3>更多用法</h3>
<p>更多用法与<code>Radio</code>的用法一直,这里不再赘述。</p>