【发布时间】:2020-04-18 21:16:30
【问题描述】:
我想在文本小部件的迭代列表上实现删除功能,以便当我单击任何文本小部件时,我单击的特定文本小部件将被删除。有什么方法可以让我在颤动中监听目标事件,从而知道用户点击的那个?
【问题讨论】:
标签: flutter events dart widget target
我想在文本小部件的迭代列表上实现删除功能,以便当我单击任何文本小部件时,我单击的特定文本小部件将被删除。有什么方法可以让我在颤动中监听目标事件,从而知道用户点击的那个?
【问题讨论】:
标签: flutter events dart widget target
将您的文本包装在 InkWell 中:
InkWell(
child: Text('some text'),
onTap: (){
//handle press event
},
)
【讨论】:
此外,您还可以使用 GestureDetector 小部件。您可以找到示例和更多信息here。
【讨论】:
这是一个示例,说明您将如何做到这一点。
//initialize outside build
List<String> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
Row(
children: <Widget>[
...letters
.map(
(letter) => GestureDetector(
child: Container(
margin: EdgeInsets.all(8.0),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
border: Border.all(color: Colors.amber)),
child: Text(
letter,
style: TextStyle(fontSize: 20),
),
),
onTap: () {
int index =
letters.indexWhere((String alpha) => alpha == letter);
setState(() {
letters.removeAt(index);
});
},
),
)
.toList()
],
),
让我知道这是否适合你
【讨论】: