vue2 + View design 使用inputNumber设置默认值为undefined但展示数据为1且表单校验不通过的原因

文章目录

  • 一、背景
  • 二、操作步骤
    • 1.复现前的准备工作
      • (1)vue版本和view design 版本
      • (2)创建一个组件(组件中根据类型渲染不同的组件)
      • (3)在list.vue页面中引入组件,传入配置,使用组件
    • 2.出现的问题
    • 3.解决问题
  • 总结


一、背景

  • View design + vue2的项目,点击编辑按钮,出现弹窗,为了重复使用,写了一个传入配置构建编辑弹窗的组件。组件中有inputNumber组件,出现以下问题:
  • 理想场景:点击编辑打开弹窗后直接点击确定,直接请求编辑接口,然后关闭弹窗。
  • 实际场景:点击编辑打开弹窗后,数字输入框显示数字1,然后表单校验不通过。

二、操作步骤

1.复现前的准备工作

(1)vue版本和view design 版本

{"vue": "^2.6.11","view-design": "^4.7.0",
}

(2)创建一个组件(组件中根据类型渲染不同的组件)

<Formref="advertisingRef":model="advertiserDataForm"name="basic"class="formclass"autocomplete="off":label-width="130"><FormItemv-for="item in advertisingConfig":key="item.label":label="item.label":prop="item.name":rules="item?.rules?.required || item?.rules?.[0]?.required ? item?.rules : null":class="{'itemBorder': item.isBorder, 'itemMargin': item.isMargin, 'itemMarginBottom': item.isMarginBottom }"><template v-else-if="item.type === 'inputNumber'"><InputNumberv-model="advertiserDataForm[item.name]":disabled="item.disabled":style="{width: item.width}":min="item.min"/><spanv-if="item.isIcon"class="ml5">%</span></template></FormItem></Form>

(3)在list.vue页面中引入组件,传入配置,使用组件

[
........{name: 'returnPoint',label: '单价',value: 0, // 绑定数据type: 'inputNumber', // 数据类型min: 0, // 最小值isIcon: true, // 是否显示%iconwidth: '120px',disabled: false, // 是否禁用rules: { required: true, type: 'number', message: '单价不能为空', trigger: 'submit' }}
]

2.出现的问题

【总金额】和【单价】都是使用的inputNumber
问题1: 打开弹窗,切换【渠道资源】出现【总金额】默认展示为1
问题2: 表单校验不通过,奇怪的是输入值后就会会通过表单校验
[图片]

3.解决问题

(1)在组件中打印绑定的数据,和绑定数据的数据类型(由于view design 的表单校验需要校验数据类型)
获取线索:打印后发现绑定数据为空,数据类型为undefined,
(2)我设置的默认值明明为0,怎么可能是undefined呢?
原因:是由于【总金额】是对象totalAmountParams的unitPrice,切换的时候获取不到值,导致
解决:赋值的时候加上?即可。
注意点:判断不要直接写成,this.advertiserForm.unitPrice = row.totalAmountParams?.unitPrice ? row.totalAmountParams?.unitPrice : null,而是需要 row.totalAmountParams?.unitPrice >= 0 ,不然值为0,回显数据为空
this.advertiserForm.unitPrice = row.totalAmountParams?.unitPrice >= 0 ? row.totalAmountParams?.unitPrice : null

(3)为什么数据变成1呢?
拷贝组件中的示例demo,如下,设置默认值为undefined,最小值为0,最大值为100,在demo示例中不难发现,默认值为undefined ,值会默认变成string类型的1。属于是view design 本身的bug
解决: 将只默认设置为null/空字符串

<template><InputNumber :max="100" :min="0" v-model="value1"></InputNumber>
</template>
<script>export default {data () {return {value1: undefined}}}
</script>

总结

  • 设置view design inputNumber组件设置默认值不能设置undefined,可以设置为null/空字符串
  • 写代码需要注意取的值可能为空,使用‘点语法’获取的尽量使用?来校验可能为空的情况进行处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/54536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为GaussDB数据库之Yukon安装与使用

一、Yukon简介 Yukon&#xff08;禹贡&#xff09;&#xff0c;基于openGauss、PostgreSQL、GaussDB数据库扩展地理空间数据的存储和管理能力&#xff0c;提供专业的GIS&#xff08;Geographic Information System&#xff09;功能&#xff0c;赋能传统关系型数据库。 Yukon 支…

重学SpringBoot3-集成Redis(六)之消息队列

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成Redis&#xff08;六&#xff09;之消息队列 1. 什么是发布/订阅&#xff08;Pub/Sub&#xff09;&#xff1f;2. 场景应用3. Spring Boot 3 整合 R…

[网络]NAT、代理服务、内网穿透、内网打洞

目录 一、NAT 1.1 NAT 技术背景 1.2 NAT IP 转换过程 1.3 NAPT&#xff08;Network Address Port Translation&#xff09; 1.地址转换表 2. NAPT&#xff08;网络地址端口转换Network Address Port Translation&#xff09; 3. NAT技术的缺陷 二、代理服务器 2.1 正向…

北交大研究突破:塑料光纤赋能低成本无摄像头AR/VR眼动追踪技术

北交大研究&#xff1a;探索无摄像头低成本AR/VR眼动追踪新路径 在AR/VR技术领域&#xff0c;眼动追踪作为一项关键技术&#xff0c;对于提升用户体验、优化渲染效率具有重要意义。然而&#xff0c;传统的眼动追踪方案多依赖于高成本的摄像头&#xff0c;这不仅增加了设备的制造…

解锁 Python 嵌套字典的奥秘:高效操作与实战应用指南

文章目录 前言&#x1f340;一、 什么是 Python 字典&#xff1f;1.1 字典的语法 &#x1f340;二、 字典的基本操作2.1 字典的创建2.2 访问字典中的值2.3 添加或修改键值对2.4 删除字典中的键值对 &#x1f340;三、 字典的遍历操作3.1 遍历字典的键3.2 遍历字典的值3.3 同时遍…

基于SSM的仿win10界面的酒店管理系统

基于SSM的仿win10界面的酒店管理系统 运行环境: jdk1.8 eclipse tomcat7 mysql5.7 项目技术: jspssm&#xff08;springspringmvcmybatis&#xff09;mysql 项目功能模块&#xff1a;基础功能、房间类型、楼层信息、附属功能

大数据新视界 --大数据大厂之大数据驱动智能客服 -- 提升客户体验的核心动力

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例 在某地市的 XX 音乐节保障准备期间&#xff0c;为确保活动期间的网络质量&#xff0c;现场新开了 4.9G HUAWEI 室外基站。在网络优化和测试中&#xff0c;发现UE无法实现从 2.6G 到 4.9G 的正常切换。虽然现场具备 4.9G信号覆…

每日OJ题_牛客_组队竞赛_贪心_C++_Java

目录 牛客_组队竞赛_贪心 题目解析 C代码1 C代码2 Java代码 牛客_组队竞赛_贪心 组队竞赛_牛客笔试题_牛客网 (nowcoder.com) 描述&#xff1a; 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个…

【自然语言处理】补充:基于向量空间的分类器

【自然语言处理】补充:基于向量空间的分类器 文章目录 【自然语言处理】补充:基于向量空间的分类器1. 特征选择2. 基于向量空间的分类方法3. Rocchio4. KNN5. 线性分类器1. 特征选择 特征选择 文本分类中,通常要将文本表示在一个高维空间下,每一维对应一个词项许多维上对应…

VMware WorkStation Pro 15.5(低版本安装) 教学用

VMware WorkStation Pro 15.5(低版本安装) 教学用 文章目录 VMware WorkStation Pro 15.5(低版本安装) 教学用前言安装使用 前言 VMware Workstation Pro 15.5 是一款功能强大的桌面虚拟化软件&#xff0c;适用于在单台物理电脑上运行多个操作系统。它被广泛应用于软件开发、测…

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍&#xff1a; 真正的好东西&#xff0c;搞网站优化seo从业必备。可以快速提升网站权重&#xff0c;带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…

WDG看门狗在stm32中的应用

一&#xff0c;WDG看门狗的介绍 看门狗可以监控程序的运行状态&#xff0c;当程序因为设计漏洞、硬件故障、电磁干扰等原因&#xff0c;出现卡死或跑飞现象时&#xff0c;看门狗能及时复位程序&#xff0c;避免程序陷入长时间的罢工状态&#xff0c;保证系统的可靠性和安全性看…

这些编程工具竟然能让我效率翻倍?开发者必备神器盘点!

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

在找工作吗?给你一个AI虚拟面试官助力你提前准备面试

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 让AI点亮我们的生活&#xff0c;是Shelly对…

3GPP链路级仿真-Link-Level Simulator for 5G Localization

文章目录 II. SYSTEM ARCHITECTURE AND CAPABILITIESA. System Architecture III. KEY COMPONENTSA. Transmission Models of the Positioning SignalsB. Dedicated Wireless Channel Model IV. APPLICATION CASESA. Two-Dimensional Mobile Terminal Localization仿真工作流程…

JavaWeb - 8 - 请求响应 分层解耦

请求响应 请求&#xff08;HttpServletRequest&#xff09;&#xff1a;获取请求数据 响应&#xff08;HttpServletResponse&#xff09;&#xff1a;设置响应数据 BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程…

【高阶数据结构】二叉树进阶探秘:AVL树的平衡机制与实现详解

高阶数据结构相关知识点可以通过点击以下链接进行学习一起加油&#xff01;二叉搜索树 大家好&#xff0c;这里是店小二&#xff01;今天我们将深入探讨高阶数据结构中的AVL树。AVL树是一种自平衡的二叉搜索树&#xff0c;可以看作是对传统二叉搜索树的优化版本。如果你对数据结…

ctf.bugku-备份是个好习惯

访问页面得到字符串 这串字符串是重复的&#xff1b; d41d8cd98f00b204e9800998ecf8427e 从前端、源码上看&#xff0c;除了这段字符串&#xff0c;没有其他信息&#xff1b;尝试解密&#xff0c;长度32位&#xff1b;各种解密方式试试&#xff1b; MD5免费在线解密破解_MD5在…

PIKACHU | PIKACHU 靶场 XSS 后台配置

关注这个靶场的其他相关笔记&#xff1a;PIKACHU —— 靶场笔记合集-CSDN博客 PIKACHU 自带了一个 XSS 平台&#xff0c;可以辅助我们完成 XSS 攻击&#xff0c;但是该后台需要配置数据库以后才能使用。本教程&#xff0c;就是教大家如何配置 PIKACHU XSS 平台的。 PIKACHU XS…