0
  1. 在选择特定芯片时,我想使用该值进行一些计算和显示。我试图用onChanged方法实现它但它不起作用,当我尝试实现它时出现以下错误。

无法推断类型参数“T”。试图推断'int?对于不起作用的“T”:参数“onChanged”声明为“无效函数(T?)?” 但参数是'void Function(Object?)'。类型'int?推断自:参数 'options' 声明为 'List' 但参数是 'List<FormBuilderFieldOption<int?>>'。考虑将显式类型参数传递给泛型。

FormBuilderChoiceChip(
              name: 'choice_chip',
              decoration: InputDecoration(
                labelText: 'Select an option',
              ),
              onChanged: (value){
                  print(value);   
              }
              options: [
                FormBuilderFieldOption(
                    value: 'Test', child: Text('Test')),
                FormBuilderFieldOption(
                    value: 'Test 1', child: Text('Test 1')),
                FormBuilderFieldOption(
                    value: 'Test 2', child: Text('Test 2')),
                FormBuilderFieldOption(
                    value: 'Test 3', child: Text('Test 3')),
                FormBuilderFieldOption(
                    value: 'Test 4', child: Text('Test 4')),
              ],
            )

请建议如何获得选定的筹码价值。

  1. On-screen load 我想让一个特定的芯片预选如何实现呢?

我试过了initialValue = 2,但它不起作用。

4

2 回答 2

1

解决您的两个问题。试试这个片段:

Widget getType() {
return FormBuilderChoiceChip<dynamic>(
  name: 'Type',
  initialValue: 8,
  options: const [
    FormBuilderFieldOption(value: 8),
    FormBuilderFieldOption(value: 4),
    FormBuilderFieldOption(value: 15),
  ],
  onChanged: (value) {
    print(value);
  },
);

}

于 2022-02-01T15:45:35.250 回答
0

我的第二个问题得到了答案......

这是我的错...我认为初始值是选项的索引...它实际上是您想要预先选择的选项值之一...。

示例代码:

 FormBuilderChoiceChip<int>(
  name: 'test_name',
  initialValue: 8,
  options: const [
    FormBuilderFieldOption(value: 8),
    FormBuilderFieldOption(value: 4),
    FormBuilderFieldOption(value: 15),
  ],
}

更多细节

但是仍然需要第一个问题的答案...

于 2021-06-18T04:05:05.340 回答