> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: selectLink()

## Article: selectLink()

## Article Link: https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/pickers/select-link.md

## Article Content:

<!-- Source: packages/public-editor-platform-sdk/src/element/index.ts in wix-private/editor-platform -->
# selectLink()

Opens the editor's link picker for the selected component, letting a Wix user create or edit a link.

## Syntax

```ts
function selectLink(params: SelectLinkParams): Promise<ElementLink | null | undefined>
```

## Parameters

`params` accepts one of the following shapes:

- [Manifest key](#manifest-key)
- [Explicit options](#explicit-options)

For more information on this choice, see [Picker arguments](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/introduction.md#picker-arguments).

### Manifest key

Connects the picker to a manifest `data` field, so the selected link saves to it automatically.

| Name | Type | Description |
| :---- | :---- | :---- |
| `dataItemKey` | string | Key of a `data` field with `dataType: 'link'` in the manifest. The editor reads the current value, opens the picker, and saves the selection back to this field automatically. |
| `options.origin` | string | Optional BI tag identifying where the picker was opened from in your panel, for example `'header-cta'`. |

### Explicit options

Opens the picker without connecting it to the manifest, so you decide what to do with the selected link.

| Name | Type | Description |
| :---- | :---- | :---- |
| `value` | object | An existing link to pre-populate the picker with. |
| `options.origin` | string | Optional BI tag identifying where the picker was opened from in your panel. |
| `options.linkTypes` | string[] | Restricts the picker to specific link types, for example `['ExternalLink', 'PageLink']`. |
| `options.appIds` | string[] | Restricts dynamic-page link results to specific installed apps, by app definition ID. |
| `options.hideInnerRoute` | boolean | Whether to hide the option to link to an inner route of a dynamic page, showing only the page itself. |

## Returns

`Promise<ElementLink | null | undefined>`

The selected link, or `null` or `undefined` if the Wix user closes the picker without selecting anything.

## Example

```js
import { reactElements } from '@wix/editor';

const link = await reactElements.selectLink({
  value: currentLink,
  options: { linkTypes: ['ExternalLink', 'PageLink'] },
});
```

## See also

- [setData()](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/data/set-data.md)
- [About the React Elements API](https://dev.wix.com/docs/sdk/host-modules/editor/react-elements/introduction.md)