startFormFieldValueChangedListener function
Listens for changes to the value of form fields.
var fieldChangedCancel = startFormFieldValueChangedListener((fields) {
for (Field field in fields) {
print('Field has name ${field.fieldName}');
print('Field has value ${field.fieldValue}');
}
});
Returns a function that can cancel the listener.
Implementation
CancelListener startFormFieldValueChangedListener(
FormFieldValueChangedListener listener) {
var subscription = _formFieldValueChangedChannel
.receiveBroadcastStream(eventSinkId.formFieldValueChangedId.index)
.listen((fieldsString) {
List<dynamic> fields = jsonDecode(fieldsString);
List<Field> fieldList = new List<Field>.empty(growable: true);
for (dynamic field in fields) {
fieldList.add(new Field.fromJson(field));
}
listener(fieldList);
}, cancelOnError: true);
return () {
subscription.cancel();
};
}