el-checkbox-group 操作后无法正常显示,需要刷新才可以正常显示的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了el-checkbox-group 操作后无法正常显示,需要刷新才可以正常显示的坑相关的知识,希望对你有一定的参考价值。

参考技术A 1.切记不要使用checkbox的checked再去绑定数据,否则和v-model数据会有冲突,数据正常,checkbox的选中状态不正常;v-model绑定的数据是用来回显选中的数据,以及操作后显示的数据,绑定的lable是选中的值;

从 POST 操作验证模态后无法正常工作

【中文标题】从 POST 操作验证模态后无法正常工作【英文标题】:Modal not working properly after validating it from POST Action 【发布时间】:2021-10-26 01:06:31 【问题描述】:

我在我的应用程序中使用模态局部视图。我正在验证我的模型是否有错误我正在使用 ModelState.AddModelError() 返回模型,但它不能正常工作。另外,我无法加载 SelectLists。

public ActionResult StockOut(StockOut model)
    
        if (ModelState.IsValid)
        
            var stock = (from s in db.Stocks where s.ProductId == model.ProductId select s).FirstOrDefault();
            if (stock.Quantity > 0 && model.Quantity <= stock.Quantity)
            
                var weight = ((from p in db.Products where p.Id == model.ProductId select p).FirstOrDefault().NetWeight) * model.Quantity;
                stock.Quantity -= model.Quantity;
                stock.TotalWeight -= weight;
                StockOut entity = new StockOut()
                
                    DriverId = model.DriverId,
                    LastUpdated = DateTime.Now,
                    ProductId = model.ProductId,
                    Quantity = model.Quantity,
                    TotalWeight = weight
                ;
                db.StockOut.Add(entity);
                db.SaveChanges();
                return RedirectToAction("Index");
            
            else
            
                ModelState.AddModelError("Quantity", "Please Enter A Valid Quantity");
                ViewBag.ProductId = new SelectList(db.Products.ToList(), model.ProductId);
                ViewBag.DriverId = new SelectList(db.Products.ToList(), model.DriverId);
            
        
        ViewBag.ProductId = new SelectList(db.Products.ToList(), model.ProductId);
        ViewBag.DriverId = new SelectList(db.Users.ToList(), model.DriverId);
        return PartialView(model);
    

提交前:

出现错误后

【问题讨论】:

不幸的是,通过图像调试应用程序几乎是不可能的 如果您不向我们展示一些代码,我们无法猜测您在做什么(错误或正确) 对不起,我以为我已经添加了它。我的错! 【参考方案1】:

修复你选择列表,你创建它们两次,删除一组(在 if 中)

ViewBag.ProductId = new SelectList(db.Products.ToList(),"Id", "Name" , model.ProductId);

///Are you sure that you have have to use products again?

ViewBag.DriverId = new SelectList(db.Products.ToList(),"Id", 
"Name" , model.DriverId);

如果你想使用 AddModelError 你必须添加到表单

@Html.ValidationSummary(false)

【讨论】:

不,我必须创建两次。如果模型状态为真,if 条件将起作用。然后将再次需要第二组,因为它要返回视图。如果我删除第二组,则会出现错误,因为视图找不到列表。

以上是关于el-checkbox-group 操作后无法正常显示,需要刷新才可以正常显示的坑的主要内容,如果未能解决你的问题,请参考以下文章

elementUI中el-checkbox-group多选框出现点击全选全取消的问题

elemetUI中el-checkbox-group经过条件判断选中与不选中的问题

win7升级IE11后F12无法正常操作

Desktop Bridge allowElevation 受限功能无法正常工作,UAC 后出现错误“请求的操作需要提升”

element-UI根据后台数据动态生成el-checkbox-group,点击保存获取绑定的checked项(二维数组)

element-UI,根据后台数据动态生成el-checkbox-group,点击提交获取绑定checked项以及实现显示默认checked项