对React子组件中父HTML元素的引用

时间:2018-08-24 09:08:27

标签: javascript reactjs

一个简单的 private _filter(value: any): Pair[] { if (typeof value == 'string') { const filterValue = value.toLowerCase(); return this.options.filter(option => option.name.toLowerCase().includes(filterValue)); } else { return this.options; } } 组件渲染方法,可渲染SVG元素和一个名为 <form class="example-form"> <mat-form-field class="example-full-width"> <input type="text" placeholder="Pick one" aria-label="Number" matInput [formControl]="myControl" [matAutocomplete]="auto"> <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" (optionSelected)="addpair($event)" [displayWith]="returnfn"> <mat-option *ngFor="let option of filteredOptions | async" [value]="option"> {{ option.name }} </mat-option> </mat-autocomplete> </mat-form-field> </form> 的子组件

Editor.jsx

<SystemBox />中,我需要访问实际的SVG html元素,例如才能访问SVG元素上的render() { return ( <svg id="editor"> <SystemBox /> </svg> ); } 方法。

如何将对父组件中SVG元素的引用传递给子组件?

我想我可以在SystemBox.jsx子组件中使用getScreenCTM(),但这不对。

1 个答案:

答案 0 :(得分:4)

看看refs。您可以创建对svg DOM元素的引用,并通过props将该引用传递给您创建的任何自定义组件。