Combobox
Utilities for adding comboboxes to your editor.
The TriggerComboboxPluginOptions
mixin configures your plugin to insert a combobox input element when the user types a specified trigger character.
For example, the Mention plugin uses TriggerComboboxPluginOptions to insert an MentionInputPlugin.key
whenever the user types @
.
Usage
Extend the editor using withTriggerCombobox
and specify default values for the required options. (See below for the full list of options).
import { withTriggerCombobox } from '@udecode/plate-combobox';
const MyPlugin = createPlatePlugin({
// ...
extendEditor: withTriggerCombobox,
options: {
createComboboxInput: (trigger) => ({
children: [{ text: '' }],
trigger,
type: 'input',
}),
trigger: '@',
triggerPreviousCharPattern: /^\s?$/,
} as TriggerComboboxPluginOptions,
});
Define your input element as an inline void element. It's often useful to do this inside a nested plugin.
const MyPlugin = createPlatePlugin({
// ...
plugins: [
createPlatePlugin({
key: 'input',
node: {
isElement: true,
isInline: true,
isVoid: true,
},
}),
],
});
The input element component can be built using Inline Combobox.
Options
Options
A function to create the input node.
The character that triggers the combobox.
Only trigger the combobox if the char before the trigger character matches a regular expression. For example, /^\s?$/
matches beginning of the line or a space.
A query function to enable the behavior.