vue2+elementUI,vue3+elementPlus解决form中的下拉列表回写显示id,不显示label

三个问题:

问题1:vue2+elementui中form下的下拉列表回写,赋值之后会出现更改不了值的情况
问题2:表单中绑定的值是v-model='form.father.son' 这种多级响应不了,把这种多级改成单级 v-model='form.son' 就不会出现值更改不了的情况
问题3:vue3+elementPlus 表单基础多选,回写的时候显示的是id 不是label名称,因为我的类型错误导致的

如下:

问题1:vue2+elementui中form下的下拉列表回写,赋值之后会出现更改不了值的情况,原因是我之前的赋值方式是

问题代码:

javascript 复制代码
edit(row){
	//显示弹窗
	this.centerDialogVisible = true
	// 给表单中的输入框赋值
	this.form.title=row.title
	// 给表单中的下拉框赋值
	this.form.teacher_id=row.teacher_id
}

更改之后的代码:

javascript 复制代码
edit(row){
	//显示弹窗
	this.centerDialogVisible = true
	
	this.form={
		title:row.title,// 给表单中的输入框赋值
		teacher_id:row.teacher_id// 给表单中的下拉框赋值
	}


}

问题2:表单中绑定的值是v-model='form.father.son' 这种多级响应不了,把这种多级改成单级 v-model='form.son' 就不会出现值更改不了的情况

问题3:vue3+elementPlus 表单基础多选,回写的时候显示的是id 不是label名称,因为我的类型错误导致的

后端给的数据是字符串类型的 1,4,3,2

但是elementplus中需要的是数字类型的数组

直接字符串转数组,转出来的类型是 ['1','4','3','2']

需要把数组中的字符串转成数字类型 [1,4,3,2],使用.map(Number) 方法

问题代码:

javascript 复制代码
 ruleForm.template_ids = row.template_id ? row.template_id.split(',') : []

正确代码:

javascript 复制代码
 <el-form ref="ruleFormRef" :model="ruleForm" >
	<el-form-item label="选择模板:" prop="">
	  <el-select v-model="ruleForm.template_ids" filterable multiple placeholder="请选择/输入"
	 >
	      <el-option :label="item.template_title" :value="item.id" v-for="(item, index) in mubanArr"
	          :key="index"></el-option>
	  </el-select>
	</el-form-item>
</el-form>
javascript 复制代码
		let template_id = row.template_id.split(',') // ['1','4','3','2']
        let xx = template_id.map(Number) //  [1,4,3,2]
        ruleForm.template_ids = xx.length > 0 ? xx : [] //给表单赋值回写

vue3中表单的回写方式如下:(不是写在一起,单独排列开)

javascript 复制代码
ruleForm.title = row.title
ruleForm.teacher_id = row.teacher_id

这是我自己实验出来的代码,效果是好的,如有不足或者有更好的方法,欢迎指正探讨

相关推荐
再希11 分钟前
React+Tailwind CSS+Shadcn UI
前端·react.js·ui
用户479492835691530 分钟前
JavaScript 的 NaN !== NaN 之谜:从 CPU 指令到 IEEE 754 标准的完整解密
前端·javascript
群联云防护小杜34 分钟前
国产化环境下 Web 应用如何满足等保 2.0?从 Nginx 配置到 AI 防护实战
运维·前端·nginx
醉方休1 小时前
Web3.js 全面解析
前端·javascript·electron
前端开发爱好者2 小时前
前端新玩具:Vike 发布!
前端·javascript
今天也是爱大大的一天吖2 小时前
vue2中的.native修饰符和$listeners组件属性
前端·javascript·vue.js
fxshy2 小时前
在 Vue 3 + Vite 项目中使用 Less 实现自适应布局:VW 和 VH 的应用
前端·javascript·less
奇舞精选2 小时前
AI时代的前端知识拾遗:前端事件循环机制详解(基于 WHATWG 最新规范)
前端·javascript
小月鸭2 小时前
理解预处理器(Sass/Less)
前端
AI3D_WebEngineer2 小时前
企业级业务平台项目设计、架构、业务全解之组件库篇
前端·javascript·vue