通过方法iModel.elements.getProps(id),获取构件的属性后,如何在界面上实现分组展现?

想实现如下属性分组效果:

项目情况说明:

1、使用的itwin版本为4.1.7

2、项目中未使用itwin提供的react系列控件(包括属性控件)

3、bim文件加载的是本地的bim文件,未使用云端的文件

目前代码情况说明:

const ids = await view.iModel.queryEntityIds({
        from: "BisCore.GeometricElement3d",
      });
      ids.forEach(async (id) => {
        const p = await view.iModel.elements.getProps(id);
        console.log(p);//p中有level的名称。
        const keyset = new KeySet();
        keyset.add(p);
        const options = { imodel: view.iModel, keys: keyset,rulesetOrId: "" };
        const displayType = "Grid";
        const descriptor = await Presentation.presentation.getContentDescriptor(
          { ...options, displayType }
        );
        console.log(descriptor);
      });
问题描述如下:
在上述代码中,通过调用【Presentation.presentation.getContentDescriptor】方法,返回变量descriptor一直是undefined, 我的理解 是调用这个方法后,应该是能返回分组后的属性数据。
麻烦帮我看下,是否我的思路存在问题?还是上述代码哪块写得有问题?感谢感谢!