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; }