有时候可能需要转换测量数据的单位,例如使用英尺表示或者使用m表示。 方法如下:
const opts: IModelAppOptions = {};
//此处QuantityFormatter类是imodel系统类,实际可能以用户自定义子类去实例化。
const quantityFormatter = new QuantityFormatter();
opts.quantityFormatter = quantityFormatter;
await IModelApp.startup(opts);
initPromises.push(UiFramework.initialize(this.store, IModelApp.i18n));
//注意,这行代码必须放在IModelApp.startup与UiFramework.initialize调用之后,否则会出错。
IModelApp.quantityFormatter.useImperialFormats = false;//如果设置为true,以英尺为单位;如果设置为false将以m为单位。
IModelApp.quantityFormatter.useImperialFormats = true 结果如下所示:
IModelApp.quantityFormatter.useImperialFormats = false 结果如下所示:
其他情况,需要用户实现QuantityFormatter的子类以进行扩展,未来对此限制可能会进行优化。