#flutter #mobx
#flutter #mobx
Вопрос:
Я ищу наилучший подход к обновлению ObservableList с объектами. Я создал фиктивный пример ниже с автомобилем и магазином с автомобилями.
В JavaScript я могу просто вызвать
const carData = {id: 1, name: "Chrysler"};
update(carData);
и в методе обновления:
@action
updateCar(carData) {
cars = cars.map(car => car.id === carData.id ? {...car, ...carData} : car);
}
Как добиться того же в Flutter с помощью MobX?
class Car {
int id;
String model;
DateTime year;
}
abstract class _CarCollectionStore with Store {
@observable
ObservableList<Car> cars = ObservableList<Car>();
@computed
get latestCar() => iterating and getting latest Car by year.
@action
updateCar(WHICH PARAMETERS?) {
...
}
}
Как мне на самом деле обновить имя latestCar?
carCollectionStore = Provider.of<CarCollectionStore>(context, listen: false);
carNameController = TextEditingController(text: carCollectionStore.latestCar.name);
carNameController.addListener(() {
carCollectionStore.updateCar(carNameController.text);
});