【每日学点鸿蒙知识】组件对象做参数、2D在子线程中使用、Tabs组件联动、Web组件获取焦点、Text加载藏文

1、HarmonyOS 如果将component组件对象当作参数参数传入到一个类中,并在类中修改component中元素是否显示?

目前的规格是组件不能作为参数进行传递的,对于自定义组件可以通过声明参数为builderParam,传递自定义builder。

2、HarmonyOS CanvasRenderingContext2D 支持在 TaskPool中使用吗?

布绘制和UI相关,不适合在子线程中操作,如果 的绘制涉及大比较大的数据计算、处理, 可以在task中处理数据,处理完返回主线程,再进行绘制,并且Canvas并不在官方验证的线程安全的模块之列,所以建议 不要在子线程中直接绘制。

线程安全模块参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/multi-thread-concurrency-overview-V5

3、HarmonyOS bindSheet内部使用Tabs组件,滚动事件无法联动?

布局问题, Tabt和list布局没有叠加在一起,只有按顶部的tabContent下拉才有效,在外面加一层布局包裹就可以了,代码如下

@Builder
sheetBuilder() {
  Column() {
    Tabs() {
      ForEach([1, 2], (value: number) => {
        TabContent() {
          this.listBuilder()
        }.tabBar(value.toString())
      })
    }
  }
}
4、HarmonyOS Web组件中加载的网页如何设置默认不获取焦点?

参考以下api:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#ZH-CN_TOPIC_0000001930676933__oninactive

requestFocus(): void 使当前web页面获取焦点。

示例代码如下:

// xxx.ets
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct WebComponent {
  controller: webview.WebviewController = new webview.WebviewController();

  build() {
    Column() {
      Button('requestFocus')
        .onClick(() => {
          try {
            this.controller.requestFocus();
          } catch (error) {
            console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
          }
        });
      Web({ src: 'www.example.com', controller: this.controller })
    }
  }
}
5、HarmonyOS Text加载藏文时,显示异常?

使用Text加载超过单行少数民族文字时,设置 .maxLines(1)属性,导致文字前有大段空白,设置.maxLines(1)和.textOverflow({overflow: TextOverflow.Ellipsis}),文字前有大段空白,省略号在前面。

想要文字在控件居中可设置textAlign(TextAlign.Center),解决文字省略号提前导致前面有一大段空白问题可设置wordBreak(WordBreak.BREAK_ALL)

相关推荐
大鱼前端23 分钟前
2025年,AI时代下的前端职业思考
前端
勉灬之30 分钟前
封装上传组件,提供各种校验、显示预览、排序等功能
开发语言·前端·javascript
outstanding木槿2 小时前
react中实现拖拽排序
前端·javascript·react.js
ordinary902 小时前
vue.js scoped样式冲突
前端·vue.js
我要学编程(ಥ_ಥ)3 小时前
速通前端篇——JavaScript
开发语言·前端·javascript
大强的博客4 小时前
《Vue3实战教程》19:Vue3组件 v-model
前端·javascript·vue.js
塔塔开!.5 小时前
element ui 组件 时间选择器出现转换问题的解决办法
前端·javascript·vue.js
胡桃夹夹子6 小时前
前端,npm install安装依赖卡在sill idealTree buildDeps(设置淘宝依赖)
前端·npm·node.js
xing.yu.CTF6 小时前
HTML基础到精通笔记
前端·笔记·html
Amo 67296 小时前
axios 实现进度监控
开发语言·前端·javascript