getComponent(path) {
    path = FormioUtils.getStringFromComponentPath(path);
    const matches = {
      path: undefined,
      fullPath: undefined,
      localPath: undefined,
      fullLocalPath: undefined,
      dataPath: undefined,
      localDataPath: undefined,
      key: undefined,
    };
    this.everyComponent((component) => {
      // All searches are relative to this component so replace this path from the child paths.
      FormioUtils.componentMatches(component.component, {
        path: component.paths?.path?.replace(new RegExp(`^${this.paths?.path}\\.?`), ''),
        fullPath: component.paths?.fullPath?.replace(new RegExp(`^${this.paths?.fullPath}\\.?`), ''),
        localPath: component.paths?.localPath?.replace(new RegExp(`^${this.paths?.localPath}\\.?`), ''),
        fullLocalPath: component.paths?.fullLocalPath?.replace(new RegExp(`^${this.paths?.fullLocalPath}\\.?`), ''),
        dataPath: component.paths?.dataPath?.replace(new RegExp(`^${this.paths?.dataPath}\\.?`), ''),
        localDataPath: component.paths?.localDataPath?.replace(new RegExp(`^${this.paths?.localDataPath}\\.?`), ''),
      }, path, this.rowIndex, matches, (type, match) => {
        match.instance = component;
        return match;
      });
    });
    return FormioUtils.getBestMatch(matches)?.instance;
  }
Returns a component provided a key. This performs a deep search within the component tree.
@param {string} path - The path to the component.
@returns {any} - The component that is located.