小编rej*_*y11的帖子

MediatR CQRS - 如何处理不存在的资源(asp.net core web api)

因此,我最近开始学习如何将 MediatR 库与 ASP.NET Core Web API 一起使用,但我不确定当对不存在的资源发出 DELETE/PUT/PATCH 请求时如何返回 NotFound()。

如果我们以 DELETE 为例,这是我的控制器操作:

[HttpDelete("{id}")]
public async Task<IActionResult> Delete(int id)
{
    await Mediator.Send(new DeleteCourseCommand {Id = id});

    return NoContent();
}
Run Code Online (Sandbox Code Playgroud)

命令:

public class DeleteCourseCommand : IRequest
{
    public int Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

命令处理程序:

public class DeleteCourseCommandHandler : IRequestHandler<DeleteCourseCommand>
{
    private readonly UniversityDbContext _context;

    public DeleteCourseCommandHandler(UniversityDbContext context)
    {
        _context = context;
    }

    public async Task<Unit> Handle(DeleteCourseCommand request, CancellationToken cancellationToken)
    {
        var course = await _context.Courses.FirstOrDefaultAsync(c => c.Id == …
Run Code Online (Sandbox Code Playgroud)

c# mediatr asp.net-core

9
推荐指数
2
解决办法
7479
查看次数

Flutter AnimatedList - 将 CurvedAnimation 添加到 SlideTransition

我已经成功地达到了一个点,我有一个AnimatedList将在新添加的项目中滑动的点。包装我的列表项的小Dismissible部件控制删除动画。我的问题是如何添加某种动画曲线,以便SlideTransition我可以控制新列表项滑入时的显示方式。这是我到目前为止的位置:

@override
Widget build(BuildContext context) {
final checklists = Provider.of<Checklists>(context);

return AnimatedList(
  key: listKey,
  initialItemCount: checklists.lists.length,
  itemBuilder: (ctx, i, animation) {
    return SlideTransition(
      position: CurvedAnimation(parent: ).drive(child)  // <- this line needs changing
      child: _buildListItem(checklists.lists[i], i),          
    );
  },      
);
}
Run Code Online (Sandbox Code Playgroud)

我不知道该如何处理这个position争论。SlideTransition以前我只是使用标准

animation.drive(Tween(begin: Offset(0.2, 0), end: Offset(0.0, 0))),
Run Code Online (Sandbox Code Playgroud)

效果很好,但缺乏曲线轻松感。有任何想法吗?

为了清楚起见,编辑 这里是完整的 .dart 文件以及我从父小部件插入新项目的位置:

GlobalKey<AnimatedListState> recentListsAnimationKey = GlobalKey();

class RecentLists extends StatefulWidget {
  @override
  _RecentListsState createState() => _RecentListsState();
}

class _RecentListsState extends State<RecentLists> …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-animation

6
推荐指数
2
解决办法
3661
查看次数

Flutter Provider - 重建列表项而不是列表视图

我正在使用 Provider 包来管理我的应用程序业务逻辑,但我遇到了一个问题,我的整个 ListView 正在重建而不是单个 ListTile。这是让您更好地理解的用户界面:

在此处输入图片说明

目前,如果我滚动到列表底部,点击最后一个项目的复选框,我看不到复选框切换的动画,滚动会跳到屏幕顶部,因为整个小部件已经重建。如何使用 Provider 以便仅重建单个 ListTile 而不是列表中的每个项目? 下面是一些相关的代码:


class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        title: 'Checklist',
        theme: ThemeData(
          brightness: Brightness.light,
          primaryColor: Colors.indigo[500],
          accentColor: Colors.amber[500],
        ),
        home: ChecklistHomeScreen(),
      ),
      providers: [
        ChangeNotifierProvider(
          create: (ctx) => ChecklistsProvider(),
        ),
      ],
    );
  }
}
Run Code Online (Sandbox Code Playgroud)
class ChecklistHomeScreen extends StatefulWidget {
  @override
  _ChecklistHomeScreenState createState() => _ChecklistHomeScreenState();
}

class _ChecklistHomeScreenState extends State<ChecklistHomeScreen> {
  void createList(BuildContext context, String listName) {
    if (listName.isNotEmpty) { …
Run Code Online (Sandbox Code Playgroud)

flutter

5
推荐指数
1
解决办法
7497
查看次数

标签 统计

flutter ×2

asp.net-core ×1

c# ×1

flutter-animation ×1

mediatr ×1