HarmonyOS 鸿蒙Next 官方案例的组件自定义ID后报错
HarmonyOS 鸿蒙Next 官方案例的组件自定义ID后报错
Deveco studio版本:3.1.0.101
API版本:API 9
问题:复制的官方代码([https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-container-relativecontainer-0000001430600665-V3](https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-container-relativecontainer-0000001430600665-V3)),工具报错--The current component id "bt1" is duplicate with
```javascript
[@Entry](/user/Entry)
[@Componentstruct](/user/Componentstruct) Index222 {
build() {
Row() {
Button("Extra button")
.width(100)
.height(50)
// 外层容器的id默认为为'__container__'
RelativeContainer() {
Button("Button 1")
.width(120)
.height(30)
.alignRules({
middle: { anchor: "__container__", align: HorizontalAlign.Center }, // 水平方向上,组件中部与容器中间对齐,即组件在容器中水平居中
})
.id("bt1") // id设置为bt1
.borderWidth(1)
.borderColor(Color.Black)
Text("This is text 2")
.fontSize(20)
.padding(10)
.borderWidth(1)
.borderColor(Color.Black)
.height(30)
.id("tx2") // id设置为tx2
.alignRules({
bottom: { anchor: "__container__", align: VerticalAlign.Bottom }, // 组件下边与容器下边对齐
top: { anchor: "bt1", align: VerticalAlign.Bottom }, // 组件上边与button1底部对齐
right: { anchor: "bt1", align: HorizontalAlign.Center } // 组件右侧与button1中间点对齐
})
LoadingProgress()
.color(Color.Blue)
.borderWidth(1)
.borderColor(Color.Black)
.height(30)
.width(30)
.id("lp3") // id设置为lp3
.alignRules({
left: { anchor: "bt1", align: HorizontalAlign.End }, // 组件左边对齐容器bt1的右边
top: { anchor: "tx2", align: VerticalAlign.Center }, // 组件上边对齐容器tx2的中间
bottom: { anchor: "__container__", align: VerticalAlign.Bottom } // 组件下边对齐最外层容器的底边
})
Gauge({ value: 50, min: 0, max: 100 })
.startAngle(210)
.endAngle(150)
.colors([[0x317AF7, 1], [0x5BA854, 1], [0xE08C3A, 1], [0x9C554B, 1], [0xD94838, 1]])
.strokeWidth(20)
.width(50)
.height(50)
.alignRules({
left: { anchor: "tx2", align: HorizontalAlign.End }, // 组件左边对齐容器tx2的右边
right: { anchor: "__container__", align: HorizontalAlign.End }, // 组件右边对齐最外层容器的右边
top: { anchor: "__container__", align: VerticalAlign.Top }, // 组件上边对齐最外层容器的上边
bottom: { anchor: "lp3", align: VerticalAlign.Top } // 组件下边对齐容器lp3的上边
})
.id("g4")
.borderWidth(1)
.borderColor(Color.Black)
}
.width(200).height(200)
.backgroundColor(Color.Orange)
}.height('100%')
}
}
这个报错是正常的吗?虽然报错,但是程序是正常运行的
更多关于HarmonyOS 鸿蒙Next 官方案例的组件自定义ID后报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你这个是OpenHarmony的还是HarmonyOS的工程,
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
harmonyOS 的工程,
- 项目名称: Sample
- 项目版本: 2.0
- 项目作者: John Doe
- 项目描述: 这是一个示例项目,展示了如何创建一个基本的HarmonyOS应用。
这个该去确认了下,已经修复了,需要等待之后的版本!
我这边测试没有报错呀,正常的,你报报错截图发一下!
报错截图如下楼,回复不能单独添加图片,
针对“HarmonyOS 鸿蒙Next 官方案例的组件自定义ID后报错”的问题,这里提供一个可能的解决方案方向,不涉及Java或C语言内容。
在HarmonyOS开发中,组件的自定义ID通常用于在代码中唯一标识组件,便于进行查找和操作。如果在自定义ID后遇到报错,可能的原因包括:
-
ID命名冲突:确保自定义的ID在全局范围内是唯一的,没有与其他组件或资源的ID重复。
-
XML与代码不一致:检查XML布局文件中定义的ID与代码中引用的ID是否完全一致,包括大小写和拼写。
-
资源未正确加载:确保XML文件已被正确编译并加载到项目中,没有因为编译错误或资源路径问题导致ID无法识别。
-
API或版本问题:确认使用的HarmonyOS SDK版本与官方案例的版本一致,有时候API的变更可能导致旧代码在新版本中无法正常工作。
-
重新构建项目:尝试清理并重新构建项目,有时候IDE的缓存问题可能导致资源识别错误。
如果以上方法均无法解决问题,可能是具体的报错信息指向了更深层次的问题,需要具体分析报错日志。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html