When valueField/textField are not explicitly set in opts, the auto-select logic (line 1140) and nullable empty-option creation (lines 1144-1145) used data[0][undefined] which returned undefined, causing: - Single-option selects to show blank (auto-select failed) - nullable empty options to have undefined keys Now extracts vf/tf local variables with ||'value'/||'text' fallback at the top of build_options(), used consistently throughout.
2.3 KiB
2.3 KiB
WebSocket
コンポーネント機能:バックエンドとのWebSocket接続を確立し、テキストおよびBase64エンコードされた音声・動画データの送受信をサポート。さまざまなイベントコールバックを提供します。
タイプ:通常コンポーネント
親コンポーネント:bricks.VBox
初期化パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| ws_url | string | WebSocketサーバーの接続アドレス(例:ws://example.com/socket) |
| with_session | boolean | 現在のセッション情報を付与するかどうか。trueの場合、bricks.app.get_session()からセッションを取得し、WebSocketコンストラクタに渡す(注:ソースコード中の綴り誤りsessopnは正しくはsessionである) |
例:
new bricks.WebSocket({ ws_url: "ws://localhost:8080/ws", with_session: true });
主なイベント
| イベント名 | 発生タイミング |
|---|---|
| onopen | WebSocket接続が正常に確立されたときに発生 |
| onmessage | サーバーからメッセージを受信したときに発生(元のメッセージ) |
| onerror | WebSocketでエラーが発生したときに発生 |
| onclose | WebSocket接続が閉じられたときに発生 |
| ontext | text型のメッセージを受信したときに発生(on_messageで解析後に発行) |
| onbase64audio | base64audio型のメッセージを受信したときに発生 |
| onbase64video | base64video型のメッセージを受信したときに発生 |
その他のカスタムタイプは、
ontypedata方式で動的に発行可能。フォーマットはon + type。
イベントデータの説明
onmessageにより解析され発行されるすべてのイベントデータは、JSON形式のe.dataから得られます。構造は以下の通りです:
コンポーネントは{ "type": "text", "data": "Hello" }typeフィールドに基づいて対応するイベント(例:ontext)を自動的に発行し、dataをイベントハンドラの引数として渡します。