我偶然發現了這個造型問題FormBuilderRadioGroup。我想為每個選項做一行。在該行中,我想要value單選按鈕和image. 見圖片:https ://imgur.com/a/v1qzA6X 。
我試圖在該options屬性中執行此操作,但這property是期望的串列,<FormBuilderFieldOption>因此我無法回傳一行...
代碼
FormBuilder(
autovalidateMode: AutovalidateMode.always,
key: _formKey,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
FormBuilderRadioGroup(
onChanged: (value) {
String paymentMethod = value.toString();
paymentViewModel.setPaymentMethod(paymentMethod);
print(paymentMethod);
},
initialValue: "mollie_wc_gateway_ideal",
decoration: const InputDecoration(
border: InputBorder.none,
contentPadding: EdgeInsets.symmetric(horizontal: 0),
),
orientation: OptionsOrientation.vertical,
name: "paymentMethod",
options: paymentViewModel.paymentOptions!
.map((option) => FormBuilderFieldOption(
value: option.id,
child: Text(option.title),
))
.toList(growable: false)),
],
)),
上面的代碼只顯示了 3 個純文本單選按鈕。我真的想要右側付款方式的影像。
uj5u.com熱心網友回復:
也許你不應該使用這個包flutter_form_builder。只需使用 Flutter 中內置的 Form 即可。也許這會有所幫助?
uj5u.com熱心網友回復:
你可以試試這個:
options: paymentViewModel.paymentOptions!
.map((option) => FormBuilderFieldOption(
value: option.id,
child: Row(
children: [Text('option.title'),Image.network('URL')]
,mainAxisAlignment: MainAxisAlignment.spaceEvenly
),
))
.toList(growable: false)),
],
)),
uj5u.com熱心網友回復:
你試過這樣嗎?
.map((option) => FormBuilderFieldOption(
value: option.id,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children:[
Text(option.title),
Image widget,
],
),
)).toList(growable: false)),
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/480538.html
下一篇:型別“_InternalLinkedHashMap<String,dynamic>”不是顫振型別轉換中“客戶端”型別的子型別?
