element plus 下拉列表默认选中有延迟 电脑版发表于:2021/12/20 17:19 会先加载id或者编号,然后有点延迟的时间才转换成内容。 [TOC] ### ~~可以这样解决,绑定的时候给中文名字,然后在改变的时候给Id。~~ (弃用的方法不科学) **绑定的时候给中文名字** ``` state.role = state.form.role.role_name state.department = state.form.department.department_name ``` 同时要注意也给form绑定一下Id,不然回传回去的时候就是传递的名称了 **然后在改变的时候给Id,但是感觉这样有点绕了,不是太科学** ``` methods: { roleChangeValue(value) { this.form.RoleId = value }, departmentChangeValue(value) { this.form.DeptID = value }, } ``` ### 会出现这样的延迟不是它这个控件的问题,而不是我这里加载方法用了异步的问题 看看我们这类的逻辑其实很简单 tn2> 1:调用fetchAllFileType方法拿到文件类型给select提供数据 2:然后给表单赋值其实就是执行了类型state.form.fileTypeId=文件id的话,select通过id它会自己选中对应的value 3:显示弹窗 ![](https://img.tnblog.net/arcimg/xiuxin/93209244314c4137be27889ce7dd4865.png) 步骤很简单,但是我们这里的fetchAllFileType其实是异步方法,也就是说后面的步骤不会等这个方法执行完毕后在执行,也就是说这个方法可能都还没有执行完毕,弹窗已经弹出来了,所以如果fetchAllFileType方法需要的一点点时间,数据还没有完全处理好的时候弹窗就已经弹出来的,这个时候我们看到的就不会最终处理好的数据的情况了,所以我们会觉得有延迟,其实出现这样的延迟不是它这个控件的问题,而不是我这里加载方法用了异步的问题! **解决方法,也很简单,异步修改成同步,或者整一个回调函数,数据回来了我们在处理后续的操作就行了** ![](https://img.tnblog.net/arcimg/xiuxin/d980a0ca9f9f4a52992427e8ea15e571.png) 其实就是我们不想看到它这个渲染的过程,我们等它渲染完了才显示出来。