📅  最后修改于: 2023-12-03 15:24:19.109000             🧑  作者: Mango
在 PowerApps 中使用组件框架开发应用程序时,有时需要以编程方式获取实体的颜色。这可以通过以下步骤实现:
在 PowerApps 中打开组件,并进入组件代码编辑器。
导入以下名称空间:
import { EntityReference, getEntityMetadata } from "pcf-utils";
async function getEntityColor(entityRef: EntityReference): Promise<string> {
try {
const entityMetadata = await getEntityMetadata(entityRef);
const color = entityMetadata.PrimaryColor.Value;
return color;
} catch (error) {
console.error(error.message);
return "#FFFFFF";
}
}
该函数使用 getEntityMetadata
实用工具方法,该方法在指定实体参考的元数据中获取实体颜色。此外,如果出现错误,则将返回默认颜色(白色)。
const entityRef = this.context.parameters.entityReference.raw;
const color = await getEntityColor(entityRef);
在此示例中,entityReference
参数是在组件安装配置过程中传递给组件的。您还可以使用其他方法获取实体参考,例如 PowerApps 打开事件中的 context.parameters
对象。
function updateUiColor(color: string) {
const element = this.domElement.firstChild as HTMLElement;
element.style.color = color;
}
在此示例中,domElement
是组件根元素的 DOM 引用,updateUiColor
方法将颜色应用于该元素。
# 如何在 PowerApps 组件框架中获取实体颜色
1. 导入以下名称空间:
```typescript
import { EntityReference, getEntityMetadata } from "pcf-utils";
async function getEntityColor(entityRef: EntityReference): Promise<string> {
try {
const entityMetadata = await getEntityMetadata(entityRef);
const color = entityMetadata.PrimaryColor.Value;
return color;
} catch (error) {
console.error(error.message);
return "#FFFFFF";
}
}
const entityRef = this.context.parameters.entityReference.raw;
const color = await getEntityColor(entityRef);
function updateUiColor(color: string) {
const element = this.domElement.firstChild as HTMLElement;
element.style.color = color;
}