vue 自增表单下拉列表无数据

近日在对一个用Vue2开发的老项目进行功能开发的时候遇到如下问题:

告警指标的数据是通过接口请求得到的,在选择完数据来源之后就会触发函数去请求得到对应的指标数据。

但是选择完后无显示数据,但是查看接口是存在返回值的,没有问题。也对列表值进行了打印,也没有问题。那么就是页面没有渲染对应的数据。

此时点击添加规则或者加号,就会新增一条配置,此时数据就出现了

破案了家人们,还是一个常见的问题。数据发生了变化,但是页面还没有刷新,所以无法看到数据。之后新增配置项,dom发生了变化,就会触发回流导致重新渲染,此时新的数据就会被渲染出来。

这个问题的根本产生原因就是因为Vue的响应式系统特性导致的。Vue使用异步更新DOM的策略来提高性能,即数据变化时并不会立即更新DOM,而是等待当前代码块执行完毕后才会进行DOM更新。

所以我们需要强制更新DOM,利用导致回流的机制即可,通过获取DOM元素的offsetTop、offsetLeft、offsetWidth、offsetHeight等属性

也可以调用this.$forceUpdate()来手动强制Vue实例重新渲染,从而更新页面。

  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,可以通过调用后台接口来获取下拉列表数据。在给定的代码中,可以看到在Vue的方法部分有一个名为`getOptions()`的方法,它使用axios库发送了一个GET请求到`/car/cartypelist`接口,并将返回的数据赋值给`this.options`。\[1\] 在后端的代码中,可以看到有一个名为`findCarType()`的方法,它使用`@RequestMapping`注解将`/car/cartypelist`映射为GET请求。在该方法中,通过调用`carService.findCarType()`方法获取到车辆类型的列表数据,并将其封装在`Result`对象中返回给前端。\[3\] 因此,当Vue组件被创建时,会自动调用`created()`钩子函数,该函数会调用`getOptions()`方法来获取下拉列表数据。\[2\] 总结起来,Vue下拉列表查询数据的过程是:在Vue组件创建时,调用`created()`钩子函数,该函数会调用`getOptions()`方法,该方法发送一个GET请求到后台接口`/car/cartypelist`,后台接口会查询数据库并返回车辆类型的列表数据,最后将数据赋值给Vue组件的`options`属性,从而实现下拉列表数据查询。 #### 引用[.reference_title] - *1* *2* *3* [在vue中的form表单下拉框中的数据来自数据库查询到的数据](https://blog.csdn.net/weixin_43304253/article/details/123881341)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值