โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ ๐ shadcn/directory/udecode/plate/(guides)/controlled.cn โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
ๅจ Plate ไธญๅฎ็ฐๅฎๅ จๅๆง็็ผ่พๅจๅผ่พไธบๅคๆ๏ผๅๅ ๅฆไธ๏ผ
็ผ่พๅจ็ถๆไธไป
ๅ
ๅซๅ
ๅฎน (editor.children)๏ผ่ฟๅ
ๅซ editor.selection ๅ editor.historyใ
็ดๆฅๆฟๆข editor.children ๅฏ่ฝไผ็ ดๅ้ๅบ(selection)ๅๅๅฒ่ฎฐๅฝ(history)๏ผๅฏผ่ดๆๅค่กไธบๆๅดฉๆบใ
ๆๆๅฏน็ผ่พๅจๅผ็ๆดๆน้ฝๅบ้่ฟ Transforms ่ฟ่ก๏ผไปฅไฟๆไธ้ๅบ(selection)ๅๅๅฒ่ฎฐๅฝ(history)็ไธ่ดๆงใ
้ดไบ่ฟไบๆๆ๏ผ้ๅธธๅปบ่ฎฎๅฐ Plate ไฝไธบ้ๅๆง่พๅ
ฅไฝฟ็จใไฝๅฆๆ้่ฆไปๅค้จๆดๆน็ผ่พๅจๅ
ๅฎน๏ผๅฏไปฅไฝฟ็จ editor.tf.setValue(value) ๅฝๆฐใ
ๆ่
๏ผๆจๅฏไปฅไฝฟ็จ editor.tf.reset() ๆฅ้็ฝฎ็ผ่พๅจ็ถๆ๏ผ่ฟๅฐๅๆถ้็ฝฎ้ๅบ(selection)ๅๅๅฒ่ฎฐๅฝ(history)ใ
ๆจๅฏไปฅไฝฟ็จ skipInitialization ๅปถ่ฟ็ผ่พๅจๅๅงๅ๏ผ็ดๅฐๅผๆญฅๆฐๆฎๅๅคๅฐฑ็ปชใ็ถๅ่ฐ็จ editor.tf.init ๅนถไผ ๅ
ฅๆจ็ๅผ๏ผ
function AsyncControlledEditor() {
const [initialValue, setInitialValue] = React.useState();
const [loading, setLoading] = React.useState(true);
const editor = usePlateEditor({
skipInitialization: true,
});
React.useEffect(() => {
// ๆจกๆๅผๆญฅ่ทๅ
setTimeout(() => {
setInitialValue([
{
type: 'p',
children: [{ text: 'ๅทฒๅ ่ฝฝๅผๆญฅๅผ๏ผ' }],
},
]);
setLoading(false);
}, 1000);
}, []);
React.useEffect(() => {
if (!loading && initialValue) {
editor.tf.init({ value: initialValue, autoSelect: 'end' });
}
}, [loading, initialValue, editor]);
if (loading) return <div>ๅ ่ฝฝไธญโฆ</div>;
return (
<Plate editor={editor}>
<EditorContainer>
<Editor />
</EditorContainer>
</Plate>
);
}
<ComponentPreview name="controlled-demo" padding="md" />โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ