添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
帅气的松球  ·  react子组件不渲染_react ...·  10 月前    · 
傻傻的荒野  ·  excel修改 - Top ...·  1 年前    · 
成熟的花卷  ·  [WPF ...·  1 年前    · 

flutter 拖拽删除

Flutter 可以使用 Draggable 和 DragTarget 组件来实现拖拽和删除的功能。

Draggable 组件可以将一个组件设置成可拖拽,并且提供了回调函数,便于监听拖拽事件。

DragTarget 组件则可以将一个组件设置成拖拽目标,并且提供了回调函数,便于在拖拽到指定目标区域时执行删除操作。

具体实现方法:

  • 创建一个可拖拽的 Widget,并将它封装在 Draggable 组件中
  • 创建一个拖拽目标,并将它封装在 DragTarget 组件中
  • 在 Draggable 组件的回调函数中,通过判断是否拖拽到指定目标区域,决定是否执行删除操作
  • 代码示例:

    class MyHomePage extends StatefulWidget {
      @override
      _MyHomePageState createState() => _MyHomePageState();
    class _MyHomePageState extends State<MyHomePage> {
      List<String> items = ['Item 1', 'Item 2', 'Item 3'];
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: items.map((item) {
                return Draggable(
                  data: item,
                  child: Container(
                    color: Colors.blue[100],
                    height: 50,
                    width: 100,
                    child: Center(
                      child: Text(
                        item,
                        style: TextStyle(color: Colors.white),
                  feedback: Container(
                    color: Colors.blue[200],
                    height: 50,
                    width: 100,
                    child: Center(
                      child: Text(
                        item,
                        style: TextStyle(color: Colors.white),
                  childWhenDragging: Container(
                    height: 50,
                    width: 100,
                    color: Colors.grey[300],
                  onDragEnd: (details) {
                    print(details.wasAccepted);
              }).toList(),
    

    以上代码只是一个拖拽的简单示例,实际情况可能更复杂。

  •