判断题
154【判断题】Tabs 不支持自定义组件作为子组件,仅可包含子组件 TabContent,不支持渲染控制类型 if/else 和 ForEach。
A
正确
B
错误
答案解析
正确答案:B
解析:
该判断题的正确答案是 B:错误。
解析如下:
题干声称“Tabs 不支持自定义组件作为子组件,仅可包含子组件 TabContent,不支持渲染控制类型 if/else 和 ForEach”,这一说法是错误的。
核心知识点解析:
1. Tabs 组件的基本结构:
在主流前端框架(如 HarmonyOS 的声明式 UI 框架或类似的组件化框架)中,Tabs 是用于实现标签页切换的容器组件。它通常由多个 TabContent 组成,每个 TabContent 代表一个标签页的内容。
2. 子组件限制问题:
虽然 Tabs 的直接子组件应为 TabContent 或其等效语义组件,但 TabContent 本身可以包含自定义组件。也就是说,虽然 Tabs 的直系子元素需要是 TabContent 类型以保证标签页结构的正确解析,但在 TabContent 内部完全可以使用自定义组件来组织内容。因此,“不支持自定义组件作为子组件”的说法过于绝对,不符合实际能力。
3. 渲染控制语法的支持:
现代声明式 UI 框架普遍支持在组件结构中使用条件渲染(如 if/else 通过三元运算符或 @Builder 函数控制)和循环渲染(ForEach)。在 Tabs 或 TabContent 中,可以通过 ForEach 动态生成多个 TabContent,也可以使用条件判断控制某个 TabContent 是否渲染。例如,在 HarmonyOS 开发中,@Builder 装饰的方法配合 ForEach 可实现动态标签页的构建。
示例(类 ArkTS 语法):
```ts
Tabs() {
ForEach(this.tabs, (tab) => {
TabContent() {
CustomComponent({ title: tab.title }) // 自定义组件作为内容
}
})
}
```
上述代码合法且常见,说明支持 ForEach 和自定义组件嵌套。
结论:
- Tabs 要求其直接子节点为 TabContent 类型,这是结构规范,但并不禁止使用自定义组件作为 TabContent 的内容。
- 支持通过 ForEach 实现动态生成 TabContent,也支持条件渲染控制显示逻辑。
因此,题干中的描述“不支持自定义组件”“不支持 if/else 和 ForEach”是错误的。
正确答案为:B(错误)。
相关知识点:
Tabs 组件子组件及渲染规则
题目纠错
2025年HarmonyOS应用开发者基础认证题库
相关题目
单选题
208【单选题】在自定义组件的 Build()函数中,下面哪个组件不可以作为根节点
单选题
207【单选题】Progress 是进度条显示组件,通过 ProgressType 可以设置进度条样式,其默认样式为
单选题
206【单选题】direction 属性用于设置容器元素内主轴方向上的布局。该属性在哪个组件中不生效
单选题
【单选题】在 ArkUI 组件中,用于设置组件内边距属性的接口是
单选题
【单选题】以下可以实现子组件在父容器中自适应占满剩余空间的属性是
单选题
【单选题】以下关于触屏事件的描述,错误的是
单选题
【单选题】下列关于 TextArea 组件的最大可输入字符数的设置,正确的写法是
单选题
【单选题】拖拽元素离开目标区域时触发的事件是
单选题
【单选题】Tabs 组件通过哪个属性设置工具栏
单选题
【单选题】默认情况下,Tabs 组件如何标识当前活跃的页签
