解决点击后界面延迟loading的问题

代码

// 保存设计
async function handleSave() {
  saving.value = true

  try {
    if (route.query.type === '1') {
      saveCustomDetail()
    } else {
      // 列表保存
      dragPanel.value.submit((isLoading) => {
        saving.value = isLoading
      })
    }
  } catch (error) {
    console.error('保存出错:', error)
    saving.value = false // 可能需要根据具体情况处理错误状态
  }
}

问题

点击按钮后,更改saving = true后,界面反馈上还需要1s左右才能进入loading状态

原因

保存过程中存在一些耗时的动作,如saveCustomDetail, 因此引入定时器来保证用户点击的时候有足够快的反馈

修改后的代码如下

// 保存
async function handleSave() {
  saving.value = true
  // 详情保存

  // 设置一个短暂的延迟,确保用户能够感知到点击操作
  // await new Promise((resolve) => setTimeout(resolve, 100))
  setTimeout(async () => {
    try {
      if (route.query.type === '1') {
        await saveCustomDetail()
      } else {
      // 列表保存
        dragPanel.value.submit((isLoading) => {
          saving.value = isLoading
        })
      }
    } catch (error) {
      console.error('保存出错:', error)
      saving.value = false // 可能需要根据具体情况处理错误状态
    }
  }, 100)
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC(Microsoft Foundation Classes)是微软提供的一套基于C++的开发框架,用于简化Windows应用程序的开发过程。动态波形图是一种可随数据变化而实时改变的图形显示,常用于数据监测、音频处理等领域。 如果MFC动态波形图持续loading,可能有以下几个原因: 1. 数据加载延迟:当波形图需要展示大量数据时,如果数据加载速度较慢,可能导致波形图一直显示loading状态。可以通过优化数据加载的算法或者增加数据加载的并发度来提高加载速度,减少loading时间。 2. 界面刷新频率过低:MFC框架默认的界面刷新频率可能较低,无法及时更新波形图的变化。可以通过调整界面刷新的策略,提高界面的刷新频率,使得波形图能够更加实时地展示数据的变化。 3. 数据更新逻辑存在问题:如果数据更新的逻辑存在问题,比如没有正确更新数据源或者没有重新绘制波形图,就会导致波形图一直处于loading状态。可以仔细检查数据更新的逻辑,确保数据能够正确地更新到波形图中。 4. 内存泄漏:如果程序存在内存泄漏问题,会导致内存占用过高,从而影响波形图的加载和展示。可以使用内存泄漏检测工具分析程序,找出并修复内存泄漏问题,以确保程序可以正常地加载和展示波形图。 总之,MFC动态波形图持续loading可能是由于数据加载延迟界面刷新频率低、数据更新逻辑问题或内存泄漏等原因引起的。需要仔细检查和优化相关的代码逻辑,以确保波形图能够正常加载和展示数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值