オブジェクト
$comp
$compはアクションから動的にコンポーネントを定義するためのオブジェクトです。
v4.1.0で追加された機能です。
以下の構文でアクションから動的にコンポーネントを定義することが出来ます。
new $comp.{コンポーネント型}(プロパティオブジェクト: prop);定義可能なコンポーネント型は以下の通りです。
| コンポーネント | コンポーネント型 | 必須プロパティ | 備考 |
|---|---|---|---|
| テキスト入力 | TextField | 1. id 2. x 3. y | |
| テキストエリア | TextArea | 1. id 2. x 3. y | |
| 数値入力 | NumberField | 1. id 2. x 3. y | |
| 高精度数値 | BigNumber | 1. id 2. x 3. y | |
| 検索フィールド | SearchField | 1. id 2. x 3. y | |
| パスワード | Password | 1. id 2. x 3. y | |
| セレクトボックス | Select | 1. id 2. x 3. y | |
| コンボボックス | Combobox | 1. id 2. x 3. y | |
| ラジオボタン | RadioButton | 1. id 2. x 3. y | |
| ラジオボタングループ | RadioGroup | 1. id 2. x 3. y | |
| チェックボックス | Checkbox | 1. id 2. x 3. y | |
| チェックボックスグループ | CheckboxGroup | 1. id 2. x 3. y | |
| スイッチ | Switch | 1. id 2. x 3. y | |
| レーティング | Rating | 1. id 2. x 3. y | |
| スライダー | Slider | 1. id 2. x 3. y | |
| スプレッドシート | Spreadsheet | 1. id 2. x 3. y | |
| 日付ピッカー | DatePicker | 1. id 2. x 3. y | |
| 時刻ピッカー | TimePicker | 1. id 2. x 3. y | |
| 日時ピッカー | DateTimePicker | 1. id 2. x 3. y | |
| ファイル | FileUpload | 1. id 2. x 3. y | |
| ボタン | Button | 1. id 2. x 3. y | |
| アイコンボタン | IconButton | 1. id 2. x 3. y | |
| 2D スキャナ | QrScanner | 1. id 2. x 3. y | |
| タイポグラフィー | Typography | 1. id 2. x 3. y | |
| リッチテキスト | RichText | 1. id 2. x 3. y | |
| イメージ | Image | 1. id 2. x 3. y | |
| イメージリスト | ImageList | 1. id 2. x 3. y | |
| 外部リソース | ExternalResource | 1. id 2. x 3. y | |
| カルーセル | Carousel | 1. id 2. x 3. y | |
| アバター | Avatar | 1. id 2. x 3. y | |
| 基本リスト | BasicList | 1. id 2. x 3. y | |
| 詳細リスト | DetailedList | 1. id 2. x 3. y | |
| ファイルビュー | FileView | 1. id 2. x 3. y | |
| マップ | MapEmbed | 1. id 2. x 3. y | |
| アプリバー | AppBar | 1. id | 1. キャンバスに追加できるアプリバーは1つまでとなります。 2. 既にキャンバス内にアプリバーがある場合は追加で生成することはできません。 |
| リンク | Link | 1. id 2. x 3. y | |
| パンくずリスト | Breadcrumbs | 1. id 2. x 3. y | |
| ステッパー | Stepper | 1. id 2. x 3. y | |
| ボトムナビゲーション | BottomNavigation | 1. id | 1. キャンバスに追加できるボトムナビゲーションは1つまでとなります。 2. 既にキャンバスにボトムナビゲーションがある場合は追加で生成することはできません。 |
| ツリービュー | TreeView | 1. id 2. x 3. y | |
| ボックス | Box | 1. id 2. x 3. y | |
| 区切り線 | Divider | 1. id 2. x 3. y | |
| ラインチャート | LineChart | 1. id 2. x 3. y | |
| バーチャート | BarChart | 1. id 2. x 3. y | |
| エリアチャート | AreaChart | 1. id 2. x 3. y | |
| パイチャート | PieChart | 1. id 2. x 3. y | |
| レーダーチャート | RadarChart | 1. id 2. x 3. y | |
| イベントカレンダー | EventCalendar | 1. id 2. x 3. y |
動的にコンポーネントを定義する場合、以下のイベントに対応したコンポーネントのみ、イベント発生時にアクションを実行させることが出来ます。
- クリックイベント
- チェンジイベント
定義例)
const image = new $comp.Image({ id: "image_1", width: 250, height: 250, x: 50, y: 100, value: "/sample/01.png", objectFit: "contain", clickEvent: "detachedAction", detachedAction: "show_detail"})動的にコンポーネントを定義する場合のみ、コンポーネントに用意されたプロパティに加えて以下のプロパティを指定することが出来ます。
| プロパティ名 | 型 | 設定可能な値 | 説明 |
|---|---|---|---|
| sendOnAction | 真偽 | 1. true 2. false (default) | 1. true の場合、切り離されたアクションでこのコンポーネントのプロパティにアクセスすることができます。 2. false の場合、切り離されたアクションでこのコンポーネントのプロパティにアクセスすることができません。 |
| zIndex | 数値 | default: 0 | コンポーネント同士が重なった場合により数値が大きいものが前面に表示されます。 |