この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

UI コンポーネントのイベント処理

UI コンポーネントは、キーボード操作やマウス操作などのユーザインターフェースイベントを処理しやすくします。これらのイベントをリスンすると、updateon 属性を使用して UI 入力コンポーネントの値をバインドし、これらのイベントの起動時に値を更新することもできます。

ui 名前空間のコンポーネントは、API バージョン 46.0 の時点では非推奨です。lightning 名前空間のコンポーネントを使用することをお勧めします。詳細は、「UI コンポーネントの操作」を参照してください。

メモ

コンポーネントにハンドラを定義して、UI イベントを取得します。たとえば、ui:inputTextArea コンポーネントで onblur という HTML DOM イベントをリスンすることができます。

1<ui:inputTextArea aura:id="textarea" value="My text area" label="Type something" 
2	    	blur="{!c.handleBlur}" />
blur="{!c.handleBlur}" は、onblur イベントをリスンして、クライアント側コントローラに結び付けます。このイベントをトリガすると、次のクライアント側コントローラがイベントを処理します。
1handleBlur : function(cmp, event, helper){
2    var elem = cmp.find("textarea").getElement();
3    //do something else
4}

すべてのコンポーネントで使用可能な全イベントについては「コンポーネントライブラリ」を参照してください。

ブラウザイベントの値のバインド

UI の変更はコンポーネント属性に反映され、その属性の変更は UI に伝搬されます。コンポーネントを読み込むと、入力要素の値がコンポーネント属性の値に初期化されます。ユーザ入力が変更されると、コンポーネント変数の値が更新されます。たとえば、コンポーネント属性にバインドされている値を ui:inputText コンポーネントに含めて、同じコンポーネント属性に ui:outputText コンポーネントをバインドできます。ui:inputText コンポーネントは、onkeyup ブラウザイベントをリスンし、対応するコンポーネント属性値を更新します。
1<aura:attribute name="first" type="String" default="John"/>
2<aura:attribute name="last" type="String" default="Doe"/>
3
4<ui:inputText label="First Name" value="{!v.first}" updateOn="keyup"/>
5<ui:inputText label="Last Name" value="{!v.last}" updateOn="keyup"/>
6
7<!-- Returns "John Doe" -->
8<ui:outputText value="{!v.first +' '+ v.last}"/>
次の例では、数値の入力が取り込まれ、それらの数値の合計が返されます。ui:inputNumber コンポーネントは、onkeyup ブラウザイベントをリスンします。keyup イベントでこのコンポーネントの値が変更されると、ui:outputNumber コンポーネントの値も更新され、2 つの値の合計が返されます。
1<aura:attribute name="number1" type="integer" default="1"/>
2<aura:attribute name="number2" type="integer" default="2"/>
3
4<ui:inputNumber label="Number 1" value="{!v.number1}" updateOn="keyup" />
5<ui:inputNumber label="Number 2" value="{!v.number2}"  updateOn="keyup" />
6
7<!-- Adds the numbers and returns the sum -->
8<ui:outputNumber  value="{!(v.number1 * 1) + (v.number2 * 1)}"/>

入力項目では文字列値が返されるため、適切に処理して数値に対応する必要があります。この例では、両方の値を 1 で乗算して、対応する数値を取得します。

メモ