Я попытался добавить изображение после создания виджета через кнопку, но я не мог изменить уже созданный виджет.
Код: Выделить всё
List _productFormList = [];
< /code>
Это виджет контейнеров, который я пытаюсь создать. Я могу добавить изображение, нажав на этот контейнер. < /P>
_productForm() {
return InkWell(
onTap: () {
choosenImageWithPicker();
},
child: _imagePickerFile == null
? Container(
color: Colors.grey[300],
width: 200,
height: 200,
child: Center(child: Text("No image")))
: Container(
width: 200,
height: 200,
child: Image.network(
_imagePickerFile.path,
),
),
);
}
< /code>
Строитель списков для создания виджетов. < /p>
ListView.separated(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemBuilder: (context, index) {
return _productFormList[index];
},
separatorBuilder: (BuildContext context, int index) {
return SizedBox(
width: 20,
);
},
itemCount: _productFormList.length,
)
< /code>
Кнопка для добавления списка. < /p>
_addButton() {
return Container(
width: 200,
height: 65,
child: ElevatedButton(
onPressed: () {
setState(() {
_productFormList.add(_productForm());
});
},
child: Text(
'Add Container',
),
));
}
< /code>
И это метод получения изображений. (Для Интернета) < /p>
Future choosenImageWithPicker() async {
try {
final _image = await _picker.getImage(source: ImageSource.gallery);
setState(() {
_imagePickerFile = _image;
});
} catch (err) {
print(err);
}
}
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/698 ... st-builder