vxe-grid table 校验指定行单元格的字段,只校验某个列的字段
Vxe UI vue vxe-table 中校验表格行是非常简单的,只需要配置好校验规则,然后调用 validate 方法就可以自动完成校验,但是由于项目淡色特殊需求,在某个单元格的值修改后需要对另一个列的值就行校验,这个时候又不需要全部进行校验,所以只需要调用 validateField 对指定行的单元格就行校验就可以了


参数传说:
row 可以传单行也可以是数组多行
field 可以传单列也可以是数组多列字段名
validateField(row, field)
<template><div><vxe-grid ref="gridRef" v-bind="gridOptions"><template #action="{ row }"><vxe-button mode="text" status="primary" @click="validField(row)">校验 role</vxe-button><vxe-button mode="text" status="primary" @click="validMultiFiled(row)">校验 name,role</vxe-button></template></vxe-grid></div>
</template><script setup>
import { ref, reactive } from 'vue'
import { VxeUI } from 'vxe-table'const gridRef = ref()const gridOptions = reactive({border: true,showOverflow: true,keepSource: true,height: 300,editConfig: {trigger: 'click',mode: 'cell',showStatus: true},editRules: {name: [{ required: true, message: '必须填写' }],role: [{ required: true, message: '必须填写' }]},columns: [{ type: 'checkbox', width: 60 },{ type: 'seq', width: 70 },{ field: 'name', title: 'Name', editRender: { name: 'VxeInput' } },{ field: 'role', title: 'Role', editRender: { name: 'VxeInput' } },{ field: 'sex', title: 'Sex', editRender: { name: 'VxeInput' } },{ field: 'age', title: 'Age', editRender: { name: 'VxeInput' } },{ field: 'date', title: 'Date', editRender: { name: 'VxeInput' } },{ title: '操作', width: 260, slots: { default: 'action' } }],data: [{ id: 10001, name: 'Test1', role: '', sex: '0', age: 28, address: 'test abc' },{ id: 10002, name: '', role: 'Test', sex: '1', age: 22, address: 'Guangzhou' },{ id: 10003, name: '', role: '', sex: '', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: '', age: 23, address: 'test abc' },{ id: 10005, name: '', role: '', sex: '1', age: 30, address: 'Shanghai' },{ id: 10006, name: 'Test6', role: 'Designer', sex: '1', age: 21, address: 'test abc' }]
})const validField = async (row) => {const $grid = gridRef.valueif ($grid) {const errMap = await $grid.validateField(row, 'role')if (errMap) {VxeUI.modal.message({ status: 'error', content: '校验不通过!' })} else {VxeUI.modal.message({ status: 'success', content: '校验成功!' })}}
}const validMultiFiled = async (row) => {const $grid = gridRef.valueif ($grid) {const errMap = await $grid.validateField(row, ['name', 'role'])if (errMap) {VxeUI.modal.message({ status: 'error', content: '校验不通过!' })} else {VxeUI.modal.message({ status: 'success', content: '校验成功!' })}}
}
</script>
https://gitee.com/xuliangzhan/vxe-table
相关文章:
vxe-grid table 校验指定行单元格的字段,只校验某个列的字段
Vxe UI vue vxe-table 中校验表格行是非常简单的,只需要配置好校验规则,然后调用 validate 方法就可以自动完成校验,但是由于项目淡色特殊需求,在某个单元格的值修改后需要对另一个列的值就行校验,这个时候又不需要全部…...
【Java多线程】单例模式(饿汉模式和懒汉模式)
目录 单例模式的定义: 饿汉式--单例模式 定义: 案例: 优缺点: 懒汉式--单例模式: 定义: 1)懒汉式单例模式(非线程安全) 2)线程安全的懒汉式单例模…...
python 异步编程之协程
最近在学习python的异步编程,这里就简单记录一下,免得日后忘记。 首先,python异步实现大概有三种方式,多进程,多线程和协程;多线程和多进程就不用多说了,基本上每种语言都会有多进行和多线程的…...
现代密码学|古典密码学例题讲解|AES数学基础(GF(2^8)有限域上的运算问题)| AES加密算法
文章目录 古典密码凯撒密码和移位变换仿射变换例题多表代换例题 AES数学基础(GF(2^8)有限域上的运算问题)多项式表示法 | 加法 | 乘法X乘法模x的四次方1的乘法 AES加密算法初始变换字节代换行移位列混合轮密钥加子密钥(…...
算法沉淀一:双指针
目录 前言: 双指针介绍 对撞指针 快慢指针 题目练习 1.移动零 2.复写零 3.快乐数 4.盛水最多的容器 5.有效三角形的个数 6.和为s的两个数 7.三数之和 8.四数之和 前言: 此章节介绍一些算法,主要从leetcode上的题来讲解ÿ…...
Word_小问题解决_1
1.第二页是空白的,但是删不掉 将鼠标弄到第二页最开始的地方打开段落设置行距为固定值0.7磅 2.表格中有文字进入了表格中怎么办 打开段落,将缩进改为0即可...
基于opencv制作GUI界面
可以基于cvui头文件实现一些控件操作,头文件及demo实例 这是一个demo main.cpp #include <opencv2/opencv.hpp> #define CVUI_IMPLEMENTATION #include "cvui.h"#define WINDOW_NAME "CVUI Hello World!"int main(void) {cv::Mat frame…...
微服务即时通讯系统的实现(客户端)----(2)
目录 1. 将protobuf引入项目当中2. 前后端交互接口定义2.1 核心PB类2.2 HTTP接口定义2.3 websocket接口定义 3. 核心数据结构和PB之间的转换4. 设计数据中心DataCenter类5. 网络通信5.1 定义NetClient类5.2 引入HTTP5.3 引入websocket 6. 小结7. 搭建测试服务器7.1 创建项目7.2…...
QT使用libssh2库实现sftp文件传输
本篇文章通过用户名和密码来连接服务器端,通过密匙连接服务器端可以参考另外一篇文章: https://blog.csdn.net/u012372584/article/details/143826199?sharetype=blogdetail&sharerId=143826199&sharerefer=PC&sharesource=u012372584&spm=1011.2480.3001.…...
【Linux】进程的优先级
进程的优先级 一.概念二.修改优先级的方法三.进程切换的大致原理:四.上下文数据的保存位置: 一.概念 cpu资源分配的先后顺序,就是指进程的优先权(priority)。 优先权高的进程有优先执行权利。配置进程优先权对多任务环…...
python实现十进制转换二进制,tkinter界面
目录 需求 效果 代码实现 代码解释 需求 python实现十进制转换二进制 效果 代码实现 import tkinter as tk from tkinter import messageboxdef convert_to_binary():try:# 获取输入框中的十进制数decimal_number int(entry.get())# 转换为二进制binary_number bin(de…...
电子应用设计方案-12:智能窗帘系统方案设计
一、系统概述 本设计方案旨在打造便捷、高效的全自动智能窗帘系统。 二、硬件选择 1. 电机:选用低噪音、扭矩合适的智能电机,根据窗帘尺寸和重量确定电机功率,确保能平稳拉动窗帘。 2. 轨道:选择坚固、顺滑的铝合金轨道&…...
力扣 回文链表-234
回文链表-234 const int N 1e55; int a[N];//定义一个整形的全局数组作为辅助数组存储链表反转前的值 class Solution { /*本题的解题思路是先将链表中每个值存储到辅助数组a中,然后反转链表, 最后,反转后链表的值和没反转之前的值…...
采样率22050,那么CHUNK_SIZE 一次传输的音频数据大小设置多少合适?unity接收后出现卡顿的问题的思路
在采样率为22050的情况下,选择合适的 CHUNK_SIZE 主要取决于 Unity 接收和处理音频数据的效率。以下是设置 CHUNK_SIZE 的一些建议: 计算 CHUNK_SIZE:音频的传输数据量可以通过公式 CHUNK_SIZE 采样率 * 传输间隔秒数 * 每样本字节数 * 声道…...
网络初识--Java
一、网络通信基础 1.IP地址 IP地址主要⽤于标识⽹络主机、其他⽹络设备(如路由器)的⽹络地址。简单说,IP地址⽤于定位主 机的⽹络地址。 就像我们发送快递⼀样,需要知道对⽅的收货地址,快递员才能将包裹送到⽬的地。…...
K8S单节点部署及集群部署
1.Minikube搭建单节点K8S 前置条件:安装docker,注意版本兼容问题 # 配置docker源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo# 安装docker环境依赖 yum install -y yum-utils device-m…...
GPIO相关的寄存器(重要)
目录 一、GPIO相关寄存器概述 二、整体介绍 三、详细介绍 1、端口配置低寄存器(GPIOx_CRL)(xA...E) 2、端口配置高寄存器(GPIOx_CRH)(xA...E) 3、端口输入数据寄存器ÿ…...
OpenCV基础
1. 基础入门:OpenCV概念与安装 a. OpenCV简介 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像和视频处理、计算机视觉、机器学习等领域。 b. 安装OpenCV Python安装: pip in…...
两行命令搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),含完整的 Docker 安装步骤
深度学习环境的配置过于繁琐,所以我制作了两个基础的镜像,希望可以帮助大家节省时间,你可以选择其中一种进行安装,版本说明: base 版本基于 pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel,默认 python 版本…...
Redis做分布式锁
(一)为什么要有分布式锁以及本质 在一个分布式的系统中,会涉及到多个客户端访问同一个公共资源的问题,这时候我们就需要通过锁来做互斥控制,来避免类似于线程安全的问题 因为我们学过的sychronized只能对线程加锁&…...
RGBLEDBlender:嵌入式RGB LED色彩混合与动态控制框架
1. RGBLEDBlender 库深度解析:面向嵌入式系统的 RGB 色彩混合与动态控制框架RGBLEDBlender 是一个轻量级、面向硬件的 RGB LED 色彩混合库,专为资源受限的微控制器平台(尤其是 Arduino 生态)设计。该库由 Erik Sikich 于 2016 年 …...
别再只会用A4988了!用STM32+L298N手撸42步进电机细分驱动(附256细分算法)
从零构建STM32L298N的256细分步进电机驱动系统 在创客和嵌入式开发领域,步进电机控制一直是个既基础又充满挑战的课题。市面上常见的A4988、DRV8825等驱动模块虽然方便,但当项目需要更高精度、更灵活控制时,这些现成方案往往显得力不从心。本…...
3步搞定Google Drive受保护PDF:高效下载完整指南
3步搞定Google Drive受保护PDF:高效下载完整指南 【免费下载链接】Google-Drive-PDF-Downloader 项目地址: https://gitcode.com/gh_mirrors/go/Google-Drive-PDF-Downloader 你是否曾遇到过这样的情况?在Google Drive中找到一个急需的技术文档或…...
告别Python环境依赖!用PyInstaller打包Tkinter/Selenium程序的最佳实践
告别Python环境依赖!用PyInstaller打包Tkinter/Selenium程序的最佳实践 你是否遇到过这样的尴尬场景?精心开发的Python程序在本地运行完美,但分享给同事或客户时,对方却因为缺少Python环境或依赖库而无法使用。尤其当程序涉及图形…...
YOLOv11目标检测与伏羲气象模型的融合应用:灾害天气图像识别预警
YOLOv11目标检测与伏羲气象模型的融合应用:灾害天气图像识别预警 最近几年,极端天气好像越来越频繁了。有时候,一场突如其来的暴雨或浓雾,就能让整个城市的交通陷入瘫痪,甚至带来不小的经济损失。传统的天气预报&…...
Deformable-DETR环境配置避坑:如何正确设置CUDA_HOME解决ms_deformable_im2col_cuda报错
Deformable-DETR环境配置实战:从CUDA路径排查到高效编译 当你第一次尝试运行Deformable-DETR这个强大的目标检测框架时,是否也遇到了那个令人头疼的报错:"error in ms_deformable_im2col_cuda: no kernel image is available for execut…...
AT25SF041 SPI Flash驱动设计与嵌入式可靠性实践
1. AT25SF041 SPI Flash 存储器驱动深度解析AT25SF041 是由 Adesto(现为 Dialog Semiconductor)推出的 4 Mbit(512 KB)串行 NOR Flash 存储器,采用标准四线 SPI 接口(CLK、CS#、DI、DO)…...
Delphi 终极实战:将自定义控件打包成 BPL,安装到 Delphi 工具栏(组件库实战)
前面我们手写了专属 UI 组件库(MyUIClass.pas),但如果你想在以后的项目中一键调用这些控件,而不是每次都复制粘贴代码,那就必须将它们打包成 Delphi 组件包(BPL 文件)。学会这篇,你将…...
STP安全特性实战:如何用bpduguard和bpdufilter防止网络攻击(附真实案例)
STP安全特性实战:如何用bpduguard和bpdufilter防止网络攻击(附真实案例) 在企业网络架构中,生成树协议(STP)的安全防护常常被忽视,直到某天凌晨2点,值班工程师突然接到全网瘫痪的告警…...
【实战指南】如何用nvitop解决GPU资源监控与管理难题
【实战指南】如何用nvitop解决GPU资源监控与管理难题 【免费下载链接】nvitop An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management. 项目地址: https://gitcode.com/gh_mirrors/nv/nvitop 在深度学习训练、科学计…...
