如何在颤动的空隙内更改小部件中的值

时间:2021-04-19 09:26:26

标签: flutter state-management

我有一个返回 showModalBottomSheet 的小部件,它位于 void 内部。我在 initState 类中调用它。但是当我使用 setState 更改 showModalBottomSheet 中的值时,即使值更改也不会显示。

initState()

 @override
  void initState() {
    Future.delayed(Duration.zero, () {
      showModal();
    });
    super.initState();
  }

showModalBottomSheet 无效

  void showModal() {
    showModalBottomSheet<void>(
        isDismissible: false,
        context: context,
        builder: (BuildContext context) {
          return SingleChildScrollView(

我正在改变价值

                        child: GestureDetector(
                          child: Container(
                            decoration: BoxDecoration(
                              border: Border.all(color: Colors.black),
                              color: color,
                              borderRadius: BorderRadius.circular(50.0),
                            ),
                            height: MediaQuery.of(context).size.width / 10,
                            width: MediaQuery.of(context).size.width / 10,
                          ),
                          onTap: () => showModalBottomSheet(
                              context: context,
                              builder: (_) {
                                return Container(
                                  height: 300,
                                  child: ColorPickerWidget(this.callbackColor),
                                );
                              }),
                        ),
  void callbackColor(Color color) {
    setState(() {
      this.color = color;
    });
  }

0 个答案:

没有答案