Flutter 在“颤振\u材质\u颜色\u选择器”对话框中以编程方式设置颜色

Flutter 在“颤振\u材质\u颜色\u选择器”对话框中以编程方式设置颜色,flutter,Flutter,在AlertDialog内部,我有TypeAheadFormField(来自flatter\u typeahead)和MaterialColorPicker: MaterialColorPicker( onMainColorChange: (ColorSwatch color) { this._myColor = color; }, selectedColor: _myColor, ) ... onSuggestionSelected: (validCol

AlertDialog
内部,我有
TypeAheadFormField
(来自flatter\u typeahead)和
MaterialColorPicker

MaterialColorPicker(
    onMainColorChange: (ColorSwatch color) {
        this._myColor = color;
    },
    selectedColor: _myColor,
)
...
onSuggestionSelected: (validColorInt) {
    this._textController.text = 'THE TEXT IS UPDATED';

    setState(() {
        this._myColor = Color(validColorInt); // BUT NOT THE PICKER
    });
}

我想在用户进行选择时更改选择器的选定颜色。我错过了什么?

您似乎没有共享此处涉及的所有代码。 根据您共享的内容,为了使颜色更改反映在变量上,并基于MaterialColorPicker的文档,您的代码应该如下所示:

MaterialColorPicker(
  onColorChange: (Color color) {
    setState(() {
      this._myColor = color;
    });
  },
  selectedColor: Colors.red
)

我不确定,但不能在对话框中使用setState,因为普通对话框不更新状态,所以必须使用自定义对话框