HarmonyOS 鸿蒙Next 多行文本TextArea文本超长时中间内容如何滚动起来

HarmonyOS 鸿蒙Next 多行文本TextArea文本超长时中间内容如何滚动起来

之前发了个帖子是,多行text让它滚动起来,在外面套了一层scroll

今天发现了一个多行文本的组件TextArea,但是当我给高度固定后,再来个超长文本,文本内容依旧不能滚动!除了套scroll,有什么属性可以让中间的文本滚动起来吗?

// 多行文本
TextArea({ placeholder: '请输入举报的具体原由...', controller: this.controller }) // 设置无输入时的提示文本
  .placeholderFont({ size: 15, weight: 400 }) // 设置placeholder文本样式
  .width('80%')
  .fontSize(16)
  .fontColor('#182431')
  .backgroundColor('#c0c0c0') // 设置背景颜色
  //.height(0)
  .constraintSize({ minHeight: 100, maxHeight: 100 }) //设置最小的显示高度
  .border({ radius: 4 }) // 修改默认的圆角

更多关于HarmonyOS 鸿蒙Next 多行文本TextArea文本超长时中间内容如何滚动起来的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

这个不是一个输入框吗?聚焦得时候就可以滚动,其他时候不可以

更多关于HarmonyOS 鸿蒙Next 多行文本TextArea文本超长时中间内容如何滚动起来的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


对,只有长按聚焦的时候,拖着光标才可以滚动,正常文本超长的时候,被隐藏过去的文本就不展示,也不可以滚动展示出来,就很麻烦,

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

这个本来就不是用在这个场景的,

那想有一个可以输入的文本框,并且其中的内容可以滚动,有什么组件可以实现吗,

那想有一个可以输入的文本框,并且其中的内容可以滚动,有什么组件可以实现吗,

在HarmonyOS(鸿蒙Next)中,当TextArea控件的文本内容超长时,默认情况下,用户可以通过触摸屏幕并上下滑动来滚动查看中间内容。TextArea控件本身支持滚动行为,无需额外代码实现滚动功能。

如果需要自定义滚动行为或控制滚动位置,可以使用ScrollViewScroll组件包裹TextArea,或者通过TextAreascrollTo方法编程控制滚动位置。例如,使用scrollTo方法可以指定滚动到特定位置:

let textArea = this.$element('textAreaId');
textArea.scrollTo({ x: 0, y: 100 });

此外,TextArea还支持通过onScroll事件监听滚动行为,获取当前的滚动位置信息,以便进一步处理。

textArea.onScroll((event) => {
  console.log(`Scroll position: x=${event.x}, y=${event.y}`);
});

以上方法适用于在鸿蒙Next中处理TextArea文本超长时的滚动需求。

回到顶部