uni-app textarea设置最大高度后,在自动增高时超出最大高度不可滚动,安卓设备可以滚动,IOS设备不行
uni-app textarea设置最大高度后,在自动增高时超出最大高度不可滚动,安卓设备可以滚动,IOS设备不行
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:10
HBuilderX类型:正式
HBuilderX版本号:3.4.7
手机系统:iOS
手机系统版本号:iOS 15
手机厂商:苹果
手机机型:iphone x
页面类型:nvue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
示例代码:
在附件有demo项目,可以直接运行
操作步骤:
输入
预期结果:
可滚动
实际结果:
无法滚动
bug描述:
textarea设置最大高度,在自动增高时超出最大高度不可滚动,安卓可以滚动,IOS不行
不是纯nvue项目,也没用fast
更多关于uni-app textarea设置最大高度后,在自动增高时超出最大高度不可滚动,安卓设备可以滚动,IOS设备不行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app textarea设置最大高度后,在自动增高时超出最大高度不可滚动,安卓设备可以滚动,IOS设备不行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
自己顶一下
自己顶一下
自己顶一下
苹果的在textarea标签外面套个scroll-view就没问题
在 uni-app 中,textarea 组件在设置最大高度后,可能会出现自动增高时超出最大高度不可滚动的问题,尤其是在 iOS 设备上。这个问题通常是由于 iOS 的默认行为导致的,iOS 在处理 textarea 的滚动时与安卓设备有所不同。
解决方案
-
使用
scroll-view包裹textarea: 你可以将textarea放在scroll-view中,并设置scroll-view的高度和最大高度,这样即使textarea内容超出最大高度,scroll-view也可以滚动。<scroll-view scroll-y="true" :style="{ maxHeight: '200px', overflow: 'auto' }"> <textarea auto-height="true" :style="{ height: 'auto' }"></textarea> </scroll-view> -
手动控制
textarea的高度: 你可以通过监听textarea的输入事件,手动控制textarea的高度,确保它不会超过最大高度。<template> <textarea :style="{ height: textareaHeight + 'px', maxHeight: '200px', overflow: 'auto' }" @input="handleInput" ></textarea> </template> <script> export default { data() { return { textareaHeight: 40, // 初始高度 }; }, methods: { handleInput(event) { const textarea = event.target; this.textareaHeight = Math.min(textarea.scrollHeight, 200); // 200px 是最大高度 }, }, }; </script> -
使用 CSS 控制滚动: 你可以通过 CSS 来控制
textarea的滚动行为,确保在内容超出最大高度时可以滚动。<textarea :style="{ maxHeight: '200px', overflow: 'auto' }" auto-height="true" ></textarea> -
使用
uni-app的page样式: 你可以尝试在page样式中设置overflow: auto,以确保整个页面可以滚动。page { overflow: auto; }

