当前位置: 首页 > news >正文

解决el-input输入框输入数组传参报错

文章目录

  • 一、
  • 二、DeepSeek回答

一、

该问题是由于JSON规范要求字符串必须使用双引号(")而非单引号(')导致的。
以下是完整的解决方案:

// 转json
const strictParse = input => {try {// 先尝试标准JSON解析return JSON.parse(input)} catch {try {// 二次尝试替换引号return JSON.parse(input.replace(/'/g, '"'))} catch {return input // 返回空数组或抛出错误}}
}// 函数再次赋值const fnn = (keyValue) => {const parsedArray = strictParse(keyValue)// console.log('%c【' + 'parsedArray' + '】打印', 'color:#fff;background:#0f0', parsedArray, typeof parsedArray)if (Array.isArray(parsedArray)) {// 得到标准数组 ["safe_zone", "node_type"]msg.value = parsedArray} else if (typeof parsedArray == "object") {// 对象msg.value = parsedArray} else {msg.value = keyValue}}

二、DeepSeek回答

在Vue中使用el-input组件时,当输入数组类型数据出现JSON字符串化问题,可通过以下方案解决:

  1. 使用JSON.parse转换(推荐方案)
<el-input v-model="inputValue" @change="handleInputChange"></el-input>// 方法处理
const handleInputChange = (value) => {try {const parsedArray = JSON.parse(value)if(Array.isArray(parsedArray)){// 得到标准数组 ["safe_zone", "node_type"]}} catch(e) {console.error('解析失败')}
}
  1. 自定义双向绑定处理
<el-input :value="JSON.stringify(inputArray)" @input="val => inputArray = parseInput(val)"
></el-input>// 解析方法
const parseInput = (str) => {try {return JSON.parse(str)} catch {return []}
}
  1. 使用计算属性中转
const computedArray = computed({get: () => JSON.stringify(inputArray),set: (val) => {try {inputArray.value = JSON.parse(val)} catch {}}
})

关键问题分析:

  • el-input的v-model默认会字符串化数组类型数据
  • 需要手动处理JSON字符串与数组的转换
  • 推荐方案1在保证数据安全性的同时实现需求
http://www.dtcms.com/a/215354.html

相关文章:

  • chrome打不开axure设计的软件产品原型问题解决办法
  • 华为OD机试真题——构成正方形的数量(2025B卷:100分)Java/python/JavaScript/C++/C/GO六种最佳实现
  • Vue.nextTick 异步更新队列:确保 DOM 更新后的操作
  • Halcon仿射变换---个人笔记
  • Git 初次推送远程仓库
  • HTML5 全面知识点总结
  • DEC Global:技术赋能如何重塑投资者决策模式?
  • 企业网站架构部署与优化-Nginx性能调优与深度监控
  • 「Python教案」判断语句的使用
  • Solr搜索:比传统数据库强在哪?
  • 大模型训练中的GPU作用解析
  • python训练营第35天
  • DAY12打卡 启发式算法
  • 华润电力招聘认知能力测评及性格测评真题题库考什么?
  • yolov8,c++案例汇总
  • 2025 河北ICPC( D. 金泰园(二分)-- C.年少的誓约(公式转化))
  • CentOS7安装 htop(100% 可以安上)
  • 【前端】Proxy对象在控制台中惰性求值_vue常见开发问题
  • 华为OD机试真题——斗地主之顺子(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 《因果关系的精准捕捉术:注意力机制的深层解码逻辑》
  • 【读书笔记】《编码:隐匿在计算机软硬件背后的语言》02 门
  • 时间的基本概念及相关技术
  • Day37打卡 @浙大疏锦行
  • P2015 二叉苹果树
  • 学习黑客Metasploit 框架的原理
  • C++面试题:虚函数表(vtable)的底层实现机制与应用解析
  • 鸿蒙OSUniApp 制作个性化的评分星级组件#三方框架 #Uniapp
  • SWOT分析:MCP(Model Context Protocol)与传统编程解决方案
  • 快速上手SHELL脚本基础及变量与运算
  • 【Pycharm】文件夹一直显示正在加载