我正在尝试使用 Hydrated_bloc 库保持状态,问题是该库的所有示例都非常基本,我想通过使用示例 api 休息来维护状态,但我仍然无法实现此示例的逻辑:
userbloc_bloc.dart
import 'dart:async';
import 'package:di/users/model/user.dart';
import 'package:di/users/repository/cloud_api_repository.dart';
import 'package:equatable/equatable.dart';
import 'package:hydrated_bloc/hydrated_bloc.dart';
part 'userbloc_event.dart';
part 'userbloc_state.dart';
class UserblocBloc extends HydratedBloc<UserblocEvent, UserblocState> {
@override
UserblocState get initialState {
return super.initialState ?? UserblocInitial();
}
@override
UserblocState fromJson(Map<String, dynamic> json) {
try {
final usermodel = UserModel.fromJson(json);
return UserblocLoaded(usermodel);
} catch (_) {
return null;
}
}
@override
Map<String, dynamic> toJson(UserblocState state) {
if (state is UserblocLoaded) {
return state.userModel.toJson();
}else{
return null;
}
}
@override
Stream<UserblocState> mapEventToState(
UserblocEvent …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用卡片过滤数据,但我没有设法使用卡片而不是数据表过滤它
import { Component, OnInit } from '@angular/core';
import {MatTableDataSource} from '@angular/material/table';
@Component({
selector: 'app-publicaciones',
templateUrl: './publicaciones.component.html',
styleUrls: ['./publicaciones.component.css']
})
export class PublicacionesComponent implements OnInit {
private users = ['Fabio', 'Leonardo', 'Thomas', 'Gabriele', 'Fabrizio', 'John', 'Luis', 'Kate', 'Max'];
dataSource = new MatTableDataSource(this.users);
constructor() { }
ngOnInit() {
}
applyFilter(filterValue: string) {
this.dataSource.filter = filterValue.trim().toLowerCase();
}
}Run Code Online (Sandbox Code Playgroud)
.container {
max-width: 900px;
justify-items: center;
justify-content: center;
text-align: center;
margin: auto;
max-width: 80%;
padding-left: 80px;
padding-top: 8%;
}
.example-card {
padding-left: 105px; …Run Code Online (Sandbox Code Playgroud)他们试图从颤动中获得修复和他们的位置,但我得到的是一个包含所有数据的字符串,而不是他们的位置,我正在使用 BLoC
Firebase:正如您在 firebase 中看到的,我有一个数据数组

cloud_firestore_api.dart:
Future<QuerySnapshot> getCites() async {
return await _db
.collection('type_cites').getDocuments();
}
Run Code Online (Sandbox Code Playgroud)
cloud_firestore_repository.dart:
Future<QuerySnapshot>getCites() => _cloudfireStoreAPI.getCites();
Run Code Online (Sandbox Code Playgroud)
user_bloc.dart:
Future<QuerySnapshot>getCites()=> _cloudFirestoreRepository.getCites();
Run Code Online (Sandbox Code Playgroud)
这是我发送来调用我的函数的地方,我得到的是一个字符串而不是数组:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:generic_bloc_provider/generic_bloc_provider.dart';
import 'package:/User/bloc/userbloc.dart';
class DatePickerScreen extends StatefulWidget {
UserBloc userBloc;
QuerySnapshot snapshot;
@override
State<StatefulWidget> createState() {
return _DatePickerScreen();
}
}
class _DatePickerScreen extends State<DatePickerScreen> {
@override
Widget build(BuildContext context) {
widget.userBloc = BlocProvider.of<UserBloc>(context);
widget.userBloc.getCites().then((result) {
widget.snapshot = result;
});
return RaisedButton(
onPressed: () {
print( widget.snapshot.documents[0].data);
},
);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
如果我打印它带来的大小: …