`I have a problem how to call data from a list, and extract values from it inside a text'
Widget build(BuildContext context) {
return BlocProvider(
create: (context) => AppCubit()..getBusiness(),
child: BlocConsumer<AppCubit, AppState>(
listener: (context, state) {},
builder: (context, state) {
DataModel dataModel;
var cubit = AppCubit.get(context);
return Scaffold(
appBar: AppBar(),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: SingleChildScrollView(
child: Column(
children: [
ListView.separated(
physics: const BouncingScrollPhysics(),
shrinkWrap: true,
`itemBuilder: (context, index) => buildTest(cubit.dataModel!),`
separatorBuilder: (context, index) => const SizedBox(
height: 40,
),
itemCount: 10),
],
),
),
),
);
},
),
);
}
Widget buildTest(DataModel model) =>
Column(mainAxisAlignment: MainAxisAlignment.center, children: [
`Text('${model.data![index].id}'),`
const SizedBox(
height: 5,
),
const Text('employee_name'),
const SizedBox(
height: 5,
),
const Text('mothers_maiden_name'),
const SizedBox(
height: 5,
),
const Text('names'),
const SizedBox(
height: 5,
),
const Text('anioReg'),
const SizedBox(
height: 5,
),
]);
}
`This is Cubit screen `
class AppCubit extends Cubit<AppState> {
AppCubit() : super(AppInitial());
static AppCubit get(context) => BlocProvider.of(context);
// List<dynamic> business =[];
DataModel? dataModel;
void getBusiness() {
emit(HotelAppLoadingAppState());
DioHelper.getData(
methodUrl: 'api/v1/employees',
).then((value) {
dataModel = DataModel.fromJson(value.data);
print(dataModel.toString());
print(dataModel!.data![0].id);
emit(HotelAppSuccessAppState());
}).catchError((error) {
print(error.toString());
emit(HotelAppErrorAppState(error));
});
}
}
class DataModel {
String? status;
List<Data>? data;
String? message;
DataModel({this.status, this.data, this.message});
DataModel.fromJson(Map<String, dynamic> json) {
status = json['status'];
if (json['data'] != null) {
data = <Data>[];
json['data'].forEach((v) {
data!.add(Data.fromJson(v));
});
}
message = json['message'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['status'] = this.status;
if (this.data != null) {
data['data'] = this.data!.map((v) => v.toJson()).toList();
}
data['message'] = this.message;
return data;
}
}
class Data {
int? id;
String? employeeName;
int? employeeSalary;
int? employeeAge;
String? profileImage;
Data(
{this.id,
this.employeeName,
this.employeeSalary,
this.employeeAge,
this.profileImage});
Data.fromJson(Map<String, dynamic> json) {
id = json['id'];
employeeName = json['employee_name'];
employeeSalary = json['employee_salary'];
employeeAge = json['employee_age'];
profileImage = json['profile_image'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['employee_name'] = this.employeeName;
data['employee_salary'] = this.employeeSalary;
data['employee_age'] = this.employeeAge;
data['profile_image'] = this.profileImage;
return data;
}
}