Это лучший способ?
void addUser(User user) async {
Map<String, dynamic> userData = user.ToMap();
await Firestore.instance.collection('user').add(userData).then(
(document) {
userId = document.documentID;
for (var i = 0; i < user.address.length; i++) {
Firestore.instance
.collection('user')
.document('$userId')
.collection('address')
.add(user.address.get(i));
}
},
);
}
.NET System.ComponentModel
пространство имен идет IEditableObject
интерфейс, Вы могли также использовать INotifyPropertyChanging
и INotifyPropertyChanged
. Шаблон MVC также сделал бы его, что Ваш интерфейс отвечает на изменения в модели через события, таким образом обновляющие или восстанавливающие значение Вашего текстового поля.
Эффективно Шаблон "memento" .
Вы взглянули в них? Здесь как к.
А простая и более быстрая версия состояла бы в том, чтобы сохранить состояние текстового поля OnTextChanged
. Каждая отмена возвратила бы последнее событие в Массиве. Тип Стопки C# был бы удобен здесь. Вы могли очистить состояние, как только Вы от интерфейса также или после Apply
.