uni-app editor组件需设置固定高度 上传图片后滑动异常

uni-app editor组件需设置固定高度 上传图片后滑动异常

测试过的手机:

所有设备,包括PC

操作步骤:

  • 示例就可复现

预期结果:

  • editor设置固定高度后,上传图片,然后移动屏幕 / editor, 图片上的选中框不要跑出去

实际结果:

  • editor设置固定高度后,上传图片,然后移动屏幕 / editor, 会导致在图片上的选中框跑出去

bug描述:

  1. editor必须设置固定高度,否则输入时,到最底下的一行,换行后,会被软键盘挡住。
  2. editor设置固定高度后,上传图片,然后移动屏幕 / editor, 会导致在图片上的选中框跑出去 你们的editor示例就有这种问题

editor-bug.zip

信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10
HBuilderX类型 正式
HBuilderX版本号 4.24
手机系统 全部
手机系统版本号 Android 14
手机厂商 华为
手机机型 所有机型
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

更多关于uni-app editor组件需设置固定高度 上传图片后滑动异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app editor组件需设置固定高度 上传图片后滑动异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在处理 uni-appeditor 组件设置固定高度以及上传图片后滑动异常的问题时,可以通过一些代码调整和优化来解决。下面是一个示例代码,展示了如何设置 editor 组件的固定高度,并处理上传图片后的滑动异常。

设置固定高度

首先,确保在 uni-app 项目中正确引入了 editor 组件,并设置其固定高度。可以通过在页面的 .vue 文件中设置样式来实现。

<template>
  <view class="container">
    <editor
      id="editor"
      class="fixed-height-editor"
      placeholder="请输入内容"
      @input="handleInput"
      @imageAdd="handleImageAdd"
    />
  </view>
</template>

<script>
export default {
  methods: {
    handleInput(e) {
      console.log('编辑器内容变化:', e.detail.html);
    },
    handleImageAdd(e) {
      console.log('图片添加:', e.detail.files);
    }
  }
}
</script>

<style scoped>
.container {
  padding: 20px;
}
.fixed-height-editor {
  height: 300px; /* 设置固定高度 */
  border: 1px solid #ddd;
}
</style>

处理上传图片后的滑动异常

editor 组件在上传图片后,可能会因为内容增加而导致布局变化,进而影响滑动效果。为了优化这一点,可以在图片上传后尝试重新调整编辑器或页面的布局。

<script>
export default {
  methods: {
    // ... 其他方法
    handleImageAdd(e) {
      console.log('图片添加:', e.detail.files);
      // 尝试在图片添加后调用此方法,以重新计算布局
      this.$nextTick(() => {
        // 可以通过一些自定义逻辑来重新调整页面布局
        // 例如,重置滚动位置或强制重绘
        const editor = uni.createSelectorQuery().select('#editor');
        editor.boundingClientRect(data => {
          // 可以在这里做一些额外的布局调整
          console.log('Editor boundingClientRect:', data);
        }).exec();
      });
    }
  }
}
</script>

在上述代码中,handleImageAdd 方法在图片添加后,使用 this.$nextTick 确保 DOM 更新完成后执行一些自定义逻辑。这里通过 uni.createSelectorQuery 获取编辑器的布局信息,可以根据这些信息做一些额外的布局调整,尽管在这个例子中我们只是打印了布局信息。

请注意,具体的滑动异常问题可能因项目而异,如果上述方法未能完全解决,可能需要进一步分析项目的具体实现和布局情况,可能需要调整 CSS 样式、使用滚动容器或其他技术手段来解决。

回到顶部