记一次“HarmonyOS 鸿蒙Next中XXX does not meet UI component syntax.”报错

记一次“HarmonyOS 鸿蒙Next中XXX does not meet UI component syntax.”报错

描述见注释

@Component
export default struct AlertDialogDemo {
  build() {
    Column(){
      Text('abc')
        .fontColor('#0000ff')
      Button('AlertDialogDemo2')
        .onClick(() => {
          AlertDialog.show({
            title: '提示',
            message: '提示信息',
            autoCancel: true, // 可否点击遮障层关闭
            alignment: DialogAlignment.Bottom,
            offset: {dx: 0, dy: -20},
            confirm: {
              value: '确认',
              action: () => {
                console.log('Callback when confirm button is clicked');
              },
            },
            /*方式一:一切正常*/
            // cancel: () => {
            //   console.log('Closed callback');
            // },
            /*方式二: 如果当前Button是Column中最后一个组件,就能正常预览打包
            如果后续跟了别的组件,如下方Text,预览打包就会报错,但是报错内容是Text有问题
            但实际问题不在Text,而在cancel这里,改为方式一就不报错了。*/
            cancel() {
              console.log('Closed callback');
            },
          })
        })
      /*报错点
      'Text('def')
               .fontColor('#0000ff')' does not meet UI component syntax.*/
      Text('def')
        .fontColor('#0000ff')
    }.width('100%')
  }
}

更多关于记一次“HarmonyOS 鸿蒙Next中XXX does not meet UI component syntax.”报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

给 编辑器整糊涂了 :-()

更多关于记一次“HarmonyOS 鸿蒙Next中XXX does not meet UI component syntax.”报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


一开始我才是搞糊涂了,一直不知道问题在哪。
后来一段一段注掉反复测试,才发现在cancel方法,

哦,忘了贴环境

Windows 10

DevEco Studio 3.1.1 Release

SdkVersion: 9

在HarmonyOS鸿蒙Next开发过程中,遇到“XXX does not meet UI component syntax.”报错,通常是由于UI组件的语法不符合鸿蒙系统的规范。鸿蒙Next的UI开发主要基于ArkUI框架,该框架提供了声明式的UI描述语法。报错的具体原因可能包括但不限于以下几种情况:

  1. 组件标签使用错误:鸿蒙Next的UI组件标签必须严格按照ArkUI框架的规范来使用。例如,TextButtonImage等组件的标签名称必须正确,且不能随意自定义或使用不支持的标签。

  2. 属性值格式不正确:组件的属性值必须符合指定的数据类型和格式。例如,Text组件的fontSize属性必须为数值类型,如果传入字符串或其他类型的数据,就会触发该报错。

  3. 组件嵌套不规范:ArkUI框架对组件的嵌套关系有严格的要求。某些组件只能作为特定组件的子元素使用,如果嵌套层级或关系不符合规范,也会导致该报错。

  4. 缺少必要的属性:某些组件在使用时必须设置某些属性,如果缺少这些必要属性,系统会抛出该错误。例如,Button组件通常需要设置onClick事件处理函数。

  5. 语法格式错误:ArkUI的声明式语法要求严格遵循XML或类JSON的格式,任何语法错误(如缺少闭合标签、属性值未加引号等)都会导致该报错。

要解决该问题,需仔细检查报错提示中提到的UI组件及其语法,确保其完全符合ArkUI框架的规范。可以通过查阅鸿蒙官方文档中有关ArkUI的组件和语法说明,逐一排查并修正错误。

回到顶部