โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ ๐ shadcn/directory/udecode/plate/(guides)/plugin-context.cn โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
ๆไปถไธไธๆๆฏไธไธชๅจๆๆๆไปถๆนๆณไธญ้ฝๅฏ็จ็ๅฏน่ฑก๏ผๆไพไบๅฏน็ผ่พๅจๅฎไพใๆไปถ้ ็ฝฎๅๅฎ็จๅฝๆฐ็่ฎฟ้ฎใ
ๆไปถไธไธๆไฝไธบ็ฌฌไธไธชๅๆฐๅจๆๆๆไปถๆนๆณไธญๅฏ็จ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
handlers: {
onKeyDown: (ctx) => {
// ctx ๅฐฑๆฏๆไปถไธไธๆ
console.info(ctx.editor, ctx.plugin);
},
},
});
getEditorPluginๅฝๆจ้่ฆ่ฎฟ้ฎๅ ถไปๆไปถ็ไธไธๆๆถ๏ผ่ฟไธชๅฝๆฐ็นๅซๆ็จใๅฎๆฏๆ่ทจๆไปถ้ไฟกๅไบคไบ๏ผๅฎ็ฐๆดๅคๆๅ็ธไบๅ ณ่็ๆไปถ่กไธบใ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
handlers: {
onKeyDown: ({ editor }) => {
const linkCtx = getEditorPlugin(LinkPlugin);
},
},
});
useEditorPluginๅจ React ็ปไปถไธญ๏ผๆจๅฏไปฅไฝฟ็จ useEditorPlugin ้ฉๅญๆฅ่ฎฟ้ฎๆไปถไธไธๆ๏ผ
const MyComponent = () => {
const { editor, plugin, type } = useEditorPlugin(MyPlugin);
return <div>{type}</div>;
};
editorๅฝๅ็ PlateEditor ๅฎไพ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
handlers: {
onChange: ({ editor }) => {
console.info('็ผ่พๅจๅ
ๅฎน:', editor.children);
},
},
});
pluginๅฝๅๆไปถ็้ ็ฝฎ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
handlers: {
onKeyDown: ({ plugin }) => {
console.info('ๆไปถ้ฎๅ:', plugin.key);
},
},
});
getOption่ทๅๆไปถ็นๅฎ้้กนๅผ็ๅฝๆฐ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
options: { myOption: 'default' },
handlers: {
onClick: ({ getOption }) => {
const myOption = getOption('myOption');
console.info('้้กนๅผ:', myOption);
},
},
});
getOptions่ทๅๆไปถๆๆ้้กน็ๅฝๆฐ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
options: { option1: 'value1', option2: 'value2' },
handlers: {
onClick: ({ getOptions }) => {
const options = getOptions();
console.info('ๆๆ้้กน:', options);
},
},
});
setOption่ฎพ็ฝฎๆไปถ็นๅฎ้้กนๅผ็ๅฝๆฐ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
options: { count: 0 },
handlers: {
onClick: ({ setOption }) => {
setOption('count', 1);
},
},
});
setOptions่ฎพ็ฝฎๆไปถๅคไธช้้กน็ๅฝๆฐ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
options: { option1: 'value1', option2: 'value2' },
handlers: {
onClick: ({ setOptions }) => {
setOptions({
option1: 'newValue1',
option2: 'newValue2',
});
},
},
});
typeไธๆไปถๅ ณ่็่็น็ฑปๅ๏ผ
const MyPlugin = createPlatePlugin({
key: 'myPlugin',
node: { type: 'myNodeType' },
handlers: {
onKeyDown: ({ type }) => {
console.info('่็น็ฑปๅ:', type);
},
},
});
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ