t×tecexpressby TeKOcloud
ENv0.7.1
Daten & Ansichten / FLUTTER

TxChat.

Interaktive Vorschau

Lokaler Nachrichtenverlauf mit Autoren, Schreibanzeige und Sendeereignissen. sent bestätigt die lokale Aufnahme, keine Serverzustellung.

TxChat

ParameterTypStandardBedeutung
userTxChatUsererforderlichAktueller Chatautor.
itemsList<TxChatMessage>?nullEinträge; bei Datenbindung durch dataSource ersetzt.
dataSourceObject?nullListe, Konfiguration oder DataSource-Instanz; hat Vorrang vor items.
onItemsChangedValueChanged<List<TxChatMessage>>?nullMeldet items; kontrollierten Zustand im Callback aktualisieren.
controllerTextEditingController?nullExterner Textcontroller; Entsorgung bleibt Aufgabe der Anwendung.
initialTextString''Anfänglicher Entwurf ohne externen Controller.
onInputFieldTextChangedValueChanged<String>?nullMeldet inputFieldText; kontrollierten Zustand im Callback aktualisieren.
onMessageEnteredValueChanged<TxChange<TxChatMessage>>?nullVor lokaler Aufnahme: TxChange<TxChatMessage>; cancel synchron setzen, um eigene Verarbeitung zu übernehmen.
onMessageSentValueChanged<TxChatMessage>?nullLiefert die lokal aufgenommene TxChatMessage; keine Serverzustellbestätigung.
onTypingStartValueChanged<TxChatUser>?nullMeldet den Beginn des Schreibens mit dem betroffenen TxChatUser.
onTypingEndValueChanged<TxChatUser>?nullMeldet das Ende des Schreibens mit dem betroffenen TxChatUser.
titleString'Chat'Titel der Ansicht.
subtitleString''Zusätzlicher Untertitel.
labelString'Chat'Beschriftung beziehungsweise zugänglicher Name.
placeholderString'Nachricht schreiben …'Hinweis bei leerer Eingabe.
emptyTextString'Noch keine Nachrichten. Starte die Unterhaltung.'Text des Leerzustands.
disabledboolfalseSperrt die Interaktion.
readOnlyboolfalseVerhindert Änderungen des Werts.
loadingboolfalseZeigt den Ladezustand.
sendingboolfalseSperrt Senden während einer eigenen laufenden Anfrage.
maxLengthint4000Maximale Textlänge.
typingUsersList<TxChatUser>const []Aktuell schreibende Autoren.
showAvatarbooltrueZeigt Autorenbilder.
showUserNamebooltrueZeigt Autorennamen.
showDayHeadersbooltrueGruppiert Nachrichten mit Tagesüberschriften.
showMessageTimestampbooltrueZeigt Nachrichtenzeiten.
localeString'de'Locale für Datums-/Zeitformatierung.
heightdouble560Höhe; Vue-Zahlen in Pixeln, Flutter in logischen Pixeln.
headerWidget?nullEigener Kopfbereich.
emptyWidget?nullEigener Leerzustand.
messageBuilderWidget Function(BuildContext context, TxChatMessage message, bool isOwn)?nullErzeugt eigenen Inhalt; Callbackparameter und Rückgabetyp stehen in der Signatur.
dart
import 'package:flutter/material.dart';
import 'package:tecexpress/tecexpress.dart';

Widget example() {
  var messages = <TxChatMessage>[];
  return StatefulBuilder(
    builder: (context, setState) => TxChat(user: TxChatUser(id: 'me', name: 'Alex'), items: messages, onItemsChanged: (v) => setState(() => messages = v)),
  );
}