如何使用看起来已启用的listTile创建文本字段

时间:2019-05-24 00:53:07

标签: flutter flutter-layout

所以我得到了一个列表项,可以使用tap和textformfield上的函数。 如何使它看起来像已启用,但仍然阻止人们更改值?

我尝试了FocusNode,但也禁用了onTap功能。

ListTile(
    TextFormField(
    enabled: false,
    validator: (val) {
    if (val.isEmpty)
    return 'Please enter something';
    },
    controller: _controller,
    ),
onTap: () => _doSomething(),
)

1 个答案:

答案 0 :(得分:0)

您可以将TextFormField包装在IgnorePointer中:

ListTile(
  onTap: () => _doSomething(),
  title: IgnorePointer(
    child: TextFormField(
      controller: _controller,
      validator: (val) {
        if (val.isEmpty)
          return 'Please enter something';
      },
    ),
  ),
)