チェックボックス
チェックボックスは、クリックおよびアクションの実行が可能であり、複数の選択肢のグループとして表示できます。チェックボックスは、動作とイベントを ui:input から継承する ui:inputCheckbox を使用して作成できます。value および disabled 属性は、チェックボックスの状態を制御し、click や change などのイベントはその動作を決定します。イベントは、チェックボックスごとに別個に使用する必要があります。
次に、チェックボックスを設定する基本的な方法をいくつか示します。
- オン
- チェックボックスをオンにするには、value="true" を設定します。次の例は、チェックボックスの初期値を設定します。
1swfobject.registerObject("clippy.codeblock-0", "9"); 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<aura:attribute name="check" type="Boolean" default="true"/> 18<ui:inputcheckbox value="{!v.check}"/> - オフの状態
-
1swfobject.registerObject("clippy.codeblock-1", "9"); 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<ui:inputCheckbox disabled="true" label="Select" />
前の例の結果、次の HTML になります。
1<label class="uiLabel-left uiLabel" for="globalId"><span>Select</span></label>
2<input disabled="disabled" type="checkbox id="globalId" class="uiInput uiInputCheckbox">イベントの操作
ui:inputCheckbox の共通イベントには、click イベントと change イベントがあります。たとえば、click="{!c.done}" では、関数名 done を使用してクライアント側のコントローラがコールされます。
次のコードは、チェックボックス項目にチェックマークを入れます。
1swfobject.registerObject("clippy.codeblock-3", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<!--The checkbox-->
18 <ui:inputCheckbox label="Cross this out" click="{!c.crossout}" class="line" />
19
20 /*The controller action*/
21 crossout : function(cmp, event){
22 var elem = event.getSource().getElement();
23 $A.util.toggleClass(elem, "done");
24 }チェックボックスのスタイル設定
ui:inputCheckbox コンポーネントは、通常の CSS スタイル設定を使用してカスタマイズできます。この例では、次の画像を含むチェックボックスを示します。
1swfobject.registerObject("clippy.codeblock-4", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<ui:inputCheckbox labelClass="check"
18 label="Select?" value="true" />次の CSS スタイルは、指定された画像を持つデフォルトのチェックボックスに置き換わります。
1swfobject.registerObject("clippy.codeblock-5", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17.THIS input[type="checkbox"] {
18 display: none;
19}
20
21.THIS .check span {
22 margin: 20px;
23}
24
25.THIS input[type="checkbox"]+label {
26 display: inline-block;
27 width: 20px;
28 height: 20px;
29 vertical-align: middle;
30 background: url('images/checkbox.png') top left;
31 cursor: pointer;
32}
33
34.THIS input[type="checkbox"]:checked+label {
35 background:url('images/checkbox.png') bottom left;
36 }