Anonymous
Класс List<_JsonQueryDocumentSnapshot> не имеет длины экземпляра. Получатель: экземпляр (длина: 3) из «_GrowableList». П
Сообщение
Anonymous » 07 ноя 2024, 20:32
Класс домашней страницы
Я новичок в Flutter и создании приложения для обслуживания билетов.
теперь я получаю эту ошибку.< /p>
Исключение, обнаруженное библиотекой виджетов.
Класс List не имеет длины экземпляра.
Получатель: экземпляр (длина:3) из '_GrowableList'
Попытка вызова: длина
Код: Выделить всё
body: CustomScrollView(
slivers: [
SliverPersistentHeader(
pinned: true,
delegate: TextDelegateHeaderWidget(title : "My Services"),
),
//1. write Query
// model class
// ui design Widget
StreamBuilder
(
stream: FirebaseFirestore.instance.
collection("sellers").doc(sharedPreferences!.
getString("uid")).collection("brands").snapshots(),
builder: (context, AsyncSnapshot dataSnapshot)
{
if(dataSnapshot.hasData) // if brands has extis.
{
// display data
return SliverStaggeredGrid.countBuilder
(
crossAxisCount: 1,
staggeredTileBuilder: (c)=> const StaggeredTile.fit(1),
itemBuilder: (context, index)
{
Brands brandsModel = Brands.fromJson(
dataSnapshot.data!.docs[index].data() as Map);
//dataSnapshot.data!.docs[index].data()as Map);
return BrandsUiDesignWidget(
model: brandsModel,
context: context,
);
},
itemCount: dataSnapshot.data.docs.lenght,
);
}
else // if not exists.
{
return const SliverToBoxAdapter(
child: Center(
child: Text(
"No Services Exists. Please Add Some" ,
),
),
);
}
}
)
],
),
Класс «Бренды»
Код: Выделить всё
class _BrandsUiDesignWidgetState extends State
{
@override
Widget build(BuildContext context)
{
return Card(
elevation: 10,
shadowColor: Colors.black,
child: Padding(
padding: const EdgeInsets.all(0),
child: SizedBox(
height: 270,
width: MediaQuery.of(context).size.width,
child: Column(
children: [
Image.network(
widget.model!.thumbnailUrl.toString(),
height: 220,
fit: BoxFit.cover,
),
const SizedBox(height: 1,),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
widget.model!.brandTitle.toString(),
style: const TextStyle(
color: Colors.deepPurple,
fontWeight: FontWeight.bold,
fontSize: 20,
letterSpacing: 3,
),
),
IconButton(
onPressed: ()
{
} ,
icon: const Icon(
Icons.delete_sweep,
color: Colors.pinkAccent,
),
),
],
),
],
),
),
),
);
}
}
Я пытаюсь показать данные в своих сервисах. но код выдает эту ошибку, я новичок в трепете. изменение моего кода будет более полезным, чем объяснение. потому что я новичок и многого не знаю.
Подробнее здесь:
https://stackoverflow.com/questions/747 ... ght-receiv
1731000724
Anonymous
Класс домашней страницы Я новичок в Flutter и создании приложения для обслуживания билетов. теперь я получаю эту ошибку.< /p> Исключение, обнаруженное библиотекой виджетов. Класс List не имеет длины экземпляра. Получатель: экземпляр (длина:3) из '_GrowableList' Попытка вызова: длина [code]body: CustomScrollView( slivers: [ SliverPersistentHeader( pinned: true, delegate: TextDelegateHeaderWidget(title : "My Services"), ), //1. write Query // model class // ui design Widget StreamBuilder ( stream: FirebaseFirestore.instance. collection("sellers").doc(sharedPreferences!. getString("uid")).collection("brands").snapshots(), builder: (context, AsyncSnapshot dataSnapshot) { if(dataSnapshot.hasData) // if brands has extis. { // display data return SliverStaggeredGrid.countBuilder ( crossAxisCount: 1, staggeredTileBuilder: (c)=> const StaggeredTile.fit(1), itemBuilder: (context, index) { Brands brandsModel = Brands.fromJson( dataSnapshot.data!.docs[index].data() as Map); //dataSnapshot.data!.docs[index].data()as Map); return BrandsUiDesignWidget( model: brandsModel, context: context, ); }, itemCount: dataSnapshot.data.docs.lenght, ); } else // if not exists. { return const SliverToBoxAdapter( child: Center( child: Text( "No Services Exists. Please Add Some" , ), ), ); } } ) ], ), [/code] Класс «Бренды» [code] class _BrandsUiDesignWidgetState extends State { @override Widget build(BuildContext context) { return Card( elevation: 10, shadowColor: Colors.black, child: Padding( padding: const EdgeInsets.all(0), child: SizedBox( height: 270, width: MediaQuery.of(context).size.width, child: Column( children: [ Image.network( widget.model!.thumbnailUrl.toString(), height: 220, fit: BoxFit.cover, ), const SizedBox(height: 1,), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( widget.model!.brandTitle.toString(), style: const TextStyle( color: Colors.deepPurple, fontWeight: FontWeight.bold, fontSize: 20, letterSpacing: 3, ), ), IconButton( onPressed: () { } , icon: const Icon( Icons.delete_sweep, color: Colors.pinkAccent, ), ), ], ), ], ), ), ), ); } } [/code] [code][/code] Я пытаюсь показать данные в своих сервисах. но код выдает эту ошибку, я новичок в трепете. изменение моего кода будет более полезным, чем объяснение. потому что я новичок и многого не знаю. Подробнее здесь: [url]https://stackoverflow.com/questions/74700677/class-list-jsonquerydocumentsnapshot-has-no-instance-getter-lenght-receiv[/url]