我正在運行一個需要顯示產品串列的 Flutter 應用程式。
我有一個資產檔案夾(加載在 pubspec.yaml 中),其中包含我的某些產品影像。
如果不存在,我不想顯示影像或占位符
嘗試一:
Image buildImg() {
var img = `assets/img/${product.id}.png`;
if(File(img).existsSync()){
return Image.asset(img);
}else{
return Image.asset('assets/img/placeholder.png');
}
}
結果:條件始終為假
嘗試二:
Image buildImg() async {
try{
var img = rootBundle.load(`assets/img/${product.id}.png`);
return Image.memory(img.buffer.asUint8List());
}catch (_){
return Image.asset('assets/img/placeholder.png');
}
}
結果:作業,但終端中有很多警告。
有沒有更好的方法來動態加載資產?謝謝
uj5u.com熱心網友回復:
Image 小部件有一個錯誤生成器,當提供的路徑無效時呼叫它,只需使用此代碼
Image.asset("image path.png" , errorBuilder: (context, error, stackTrace) => Image.asset('placeholder path.png'),),
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432518.html
下一篇:將堆疊容器內的文本底部居中對齊
