ฉันได้รับข้อยกเว้นการเรนเดอร์ที่ฉันไม่เข้าใจวิธีการแก้ไข ฉันกำลังพยายามสร้างคอลัมน์ที่มี 3 แถว
แถว [ภาพ]
แถว [ฟิลด์ข้อความ]
แถว [ปุ่ม]
นี่คือรหัสของฉันเพื่อสร้างภาชนะ:
Container buildEnterAppContainer(BuildContext context) {
var container = new Container(
padding: const EdgeInsets.all(8.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
buildImageRow(context),
buildAppEntryRow(context),
buildButtonRow(context)
],
),
);
return container;
}
และรหัส buildAppEntryRow ของฉันสำหรับคอนเทนเนอร์ข้อความ
Widget buildAppEntryRow(BuildContext context) {
return new Row(
children: <Widget>[
new TextField(
decoration: const InputDecoration(helperText: "Enter App ID"),
style: Theme.of(context).textTheme.body1,
)
],
);
}
เมื่อฉันเรียกใช้ฉันได้รับข้อยกเว้นต่อไปนี้:
I/flutter ( 7674): BoxConstraints forces an infinite width.
I/flutter ( 7674): These invalid constraints were provided to RenderStack's layout() function by the following
I/flutter ( 7674): function, which probably computed the invalid constraints in question:
I/flutter ( 7674): RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:256:13)
I/flutter ( 7674): The offending constraints were:
I/flutter ( 7674): BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
ถ้าฉันเปลี่ยน buildAppEntryRow เป็นเพียงฟิลด์ข้อความแทนเช่นนี้
Widget buildAppEntryRow2(BuildContext context) {
return new TextField(
decoration: const InputDecoration(helperText: "Enter App ID"),
style: Theme.of(context).textTheme.body1,
);
}
ฉันไม่ได้รับการยกเว้นอีกต่อไป ฉันขาดอะไรบ้างกับการนำ Row ไปใช้ซึ่งทำให้ไม่สามารถคำนวณขนาดของแถวนั้นได้?