首页 > 解决方案 > 如何在颤动中禁用下拉菜单

问题描述

如何完全禁用下拉列表,以便用户无法进入下拉列表并将颜色更改为灰色

DropdownButtonFormField<String>(
      value: selected,
      items: ["Value1", "Value2", "Value3"]
          .map(
            (label) => DropdownMenuItem(
              child: Text(label),
              value: label,
            ),
          )
          .toList(),
      onChanged: (value) {
        setState(() => selected = value);
      },
    )

我厌倦了将 onChange 设置为 null 但整个下拉列表消失了

标签: flutterdart

解决方案


唯一的方法是设置onChange为null并设置disabledHint

DropdownButtonFormField<String>(
      style: TextStyle(color: Colors.grey),
      value: selected,
      disabledHint: Text(selected),  //<-set this one
      items: ["Value1", "Value2", "Value3"]
          .map(
            (label) => DropdownMenuItem(
              child: Text(label),
              value: label,
            ),
          )
          .toList(),
      onChanged: null,
//          (value) {
//          setState(() => selected = value);
//        },
    )

推荐阅读