TypeScript 编译报错
Siona
TypeScript 编译报错
ERROR
error TS2339: Property 'zoom' does not exist on type 'object'.
<script setup lang="ts">
const props = defineProps<{
/* lf: object; 报错 */
lf: any;
}>();
const {lf} = props;
// 使用
lf.zoom(true);
</script>
将 lf: object;
改为 lf: any;
即可。
ERROR
Vue: Parameter node implicitly has an any type, but a better type may be inferred from usage.

报错原因:forEach
循环中,node
参数的类型没有被明确指定,而 TypeScript
的配置又不允许隐式的 any
类型。 解决方案,显式定义 any
类型,nodes.forEach((node: any) => {});
。
<script setup lang="ts">
let lf: any;
/**
* 清除画布中所有节点状态,除了指定节点外
*/
function clearOtherNodeStatusExceptSpecifiedNodeId(nodeId: string) {
lf.value.graphModel.clearSelectElements();
const data = lf.value.graphModel.getGraphData();
const {nodes} = data;
nodes.forEach((node: any) => {
if (node.id !== nodeId) {
const nodeModel = lf.value.graphModel.getNodeModelById(node.id);
nodeModel.setProperties({
status: 'normal'
});
}
});
}
</script>