GitHub上的viewer-components-react示例下载后,rush install/build均已成功,请问如何执行\packages目录下的子项(tree-widget,property-grid等)?
这些子项是在主项中引用的,不是用来直接执行的。您只要能在浏览器中正确执行viewer就可以了。
Answer Verified By: bhec
但是,viewer-components-react与simple-viewer-app或imodeljs-samples的项目结构不一样,rush build之后npm run start提示package.json不存在,所以并没有正确进入viewer...所以如何进入这个项目的viewer查看引用子项后的主项效果呢?
simple-viewer-app或imodeljs-samples是itwin.js完整的开发应用示例程序,用于可以在此基础上进行二次开发。
viewer-components-react是itwin.js开发的组件库,用户可以在应用程序中以第三方的形式使用这些组件库。
所以,如果是新手,建议首先基于simple-viewer-app进行开发,然后在其中使用viewer-commponents-react提供的组件。
好的,明白了,感谢两位老师的解答。
Devin Liu said:建议首先基于simple-viewer-app进行开发,然后在其中使用viewer-commponents-react提供的组件。
刘老师好,我在基于imodeljs-samples中的ninezone-sample-app进行测试,有这样一个实际需求是,对ibm文件中的model进行切换,目前已按照如下方式取得所有model,切换方式经查询搜索到了viewer-components-react\D:\iModelJS\Samples\viewer-components-react-master\packages\tree-widget中的changeModelDisplay(不知是否正确),由于关键部分代码测试没有通过,所以才问到如何测试其中的子组件...打算先看看效果再去进一步了解代码. 同理,对于ibim文件的图层也是一样的需求,也在琢磨当中(图层还没有从ibim文件中取出来)...请您有时间帮忙提供一下思路,谢谢。
const iModel: IModelConnection | undefined = UiFramework.getIModelConnection(); if (!iModel) return; const models = await iModel.models.queryProps({ from: "BisCore.GeometricModel" }); const mdlName: string[] = []; models.forEach((model: ModelProps) => { mdlName.push(model.name!.toString()); });
使用这2个接口可以满足你的需要: