Vue进阶(幺捌幺):elementUI 中 select 多选,数据回显错误的问题解决方法_element select多选第一次回显不上,点击别的输入框回显正常(2)

自学几个月前端,为什么感觉什么都没学到??


这种现象在很多的初学者和自学前端的同学中是比较的常见的。

因为自学走的弯路是比较的多的,会踩很多的坑,学习的过程中是比较的迷茫的。

最重要的是,在学习的过程中,不知道每个部分该学哪些知识点,学到什么程度才算好,学了能做什么。

很多自学的朋友往往都是自己去找资料学习的,资料上有的或许就学到了,资料上没有的或许就没有学到。

这就会给人一个错误的信息就是,我把资料上的学完了,估计也-就差不多的了。

但是真的是这样的吗?非也,因为很多人找的资料就是很基础的。学完了也就是掌握一点基础的东西。分享给你一份前端分析路线,你可以参考。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。

所以学习编程一定要注重实践操作,练习敲代码的时间一定要多余看视频的时间。

<el-select
        v-model="textForm.receDeptIds"
        multiple
        filterable
        allow-create
        default-first-option
        @change="changeSelect"
        placeholder="请选择接收部门">
    <el-option
            v-for="item in deptData"
            :key="item.id"
            :label="item.name"
            :value="item.id">
    </el-option>
</el-select>

js逻辑代码如下:

// 编辑
handleEdit(data){
	this.textShow=true;
	this.textForm=data;
	this.changeSelect(data);   //触发此方法
},

changeSelect(data){
	let UserIds = data.receUserIds.toString()
	let peoData = UserIds.split(',')
	peoData.foreach((item, index, peoData) => {
		peoData[index] = Number(item) + ''
	})
	// 或者按照如下逻辑
// for(var i=0; i<peoData.length; i++)
// {
// peoData[i]=parseInt(peoData[i]) + ''
// }
	this.textForm.receDeptIds = dpData
},

总结:changeSelect方法是在打开编辑表单后,对select多选选择器回显内容作处理的方法。由于el-select绑定值为字符数组类型,通过定义数组UserIds,需将拿到的数据先做一个toString后再赋值给UserIdS(不这样做,直接赋值的话,控制台会一直报split不是一个函数的错误)。用split方法将UserIds转换为逗号分隔的数组,对peoData作循环操作,每个元素去除双引号(NumberparseInt方法转一下就好)并转为字符。最终赋值给receUserIds。回显问题解决。

二、拓展阅读

最后

一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

分享一些前端面试题以及学习路线给大家

题以及学习路线给大家**

[外链图片转存中…(img-BbpWTdhg-1715842613050)]

[外链图片转存中…(img-mAXGvE2J-1715842613051)]

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 HTML ,可以使用 "multiple" 属性来实现 "select" 元素的多选回显。可以在 "select" 标签加入 "multiple" 属性来实现。例如:`<select multiple>`。在选多个选项时,可以使用 JavaScript 来获取已选的选项。 ### 回答2: Element UI是一套基于Vue.js 2.0的桌面端组件库,可帮助开发者快速构建出优美、易用的界面。其select组件提供了多选功能,可以让用户一次性选择多个选项。在用户选择完成后,需要将已选择的选项回显到页面上,方便用户查看和操作。 Elementselect多选回显主要有以下几种方式: 1. 使用v-model双向绑定数据 首先,在select组件标签上使用v-model指令进行双向绑定,将选择的选项绑定在一个数组。例如: ``` <el-select v-model="selectedOptions" multiple> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> ``` 其selectedOptions就是绑定的数组,options为需要选择的选项。 然后,在页面上需要回显选项的地方,使用v-for指令遍历selectedOptions数组,并输出每个选项的label值即可。 2. 使用ref属性获取组件实例 另外一种方式是在select组件上使用ref属性获取组件实例。然后在选择完成后,通过组件实例的方法获取所选择的选项,并进行回显。 例如: ``` <el-select ref="mySelect" multiple> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> ``` 然后,在选择完成后,通过ref获取组件实例,再使用getSelected方法获取用户已选择的选项,最后通过遍历选项并显示label值进行回显。 ``` this.$refs.mySelect.getSelected().forEach(option => { console.log(option.label); }); ``` 总结 以上就是Elementselect多选回显的两种方式。使用v-model双向绑定数据方式简单方便,而使用ref属性获取组件实例方式方法灵活,开发者可以根据实际需求进行选择。无论哪种方式,开发者都需要对所选的选项进行遍历,将选项的label值进行回显。 ### 回答3: elementselect组件是一个常用的下拉框组件,用于选择单个选项。但有时候我们需要选择多个选项,并将选的选项回显到页面上,element也提供了相应的解决方案。 首先,我们需要将select组件的multiple属性设置为true,即可启用多选功能。同时,我们也需要给select组件绑定一个v-model,用于存储选的选项值。例如: ``` <el-select v-model="selectedOptions" multiple> <el-option label="选项1" value="option1"></el-option> <el-option label="选项2" value="option2"></el-option> <el-option label="选项3" value="option3"></el-option> </el-select> ``` 在数据,我们需要定义selectedOptions数组,用于存储选的选项值。例如: ``` data() { return { selectedOptions: [] } } ``` 此时,我们已经可以在页面上选多个选项,但还需要将选的选项回显到页面上。我们可以使用forEach遍历selectedOptions数组,动态生成标签来显示选的选项,例如: ``` <template> <div> <el-select v-model="selectedOptions" multiple> <el-option label="选项1" value="option1"></el-option> <el-option label="选项2" value="option2"></el-option> <el-option label="选项3" value="option3"></el-option> </el-select> <div> <span v-for="(option, index) in selectedOptions" :key="index">{{option}}</span> </div> </div> </template> <script> export default { data() { return { selectedOptions: [] } } } </script> ``` 以上就是elementselect多选回显的实现方法。通过设置multiple属性和绑定v-model,我们可以启用多选功能并存储选的选项值,在页面上通过动态生成标签的方式回显的选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值