iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
Modern Web

Laravel 12 開發者幸福度升級指南系列 第 11

Day 11:Laravel Filament 的所見即所得編輯器 RichEditor

  • 分享至 

  • xImage
  •  

前面我們講的比較多是在列表頁上面的客製化

今天我們講講進入到編輯頁面內的客製化

所見即所得編輯器

所見即所得編輯器,是編輯後台很常用的一個需求。每家都有每家的好處,並且也都有各自的設置困難。

Filament 已經有預設的所見即所得編輯器 RichEditor,底層是 TipTap

我們將 app/Filament/Resources/Products/Schemas/ProductForm.php

Textarea::make('description')
    ->columnSpanFull(),

改成

RichEditor::make('description')
    ->columnSpanFull(),

就可以看到所見即所得編輯器了

所見即所得編輯器

編輯器客製化

其實到這邊,編輯器的內容已經可以滿足多數客戶的需求了。

不過有的客戶還是會要求一些細部的客製化。像是針對哪些按鈕要放在前面,哪些按鈕不需要顯示

這部分 Filament 也有考慮到,所以我們可以使用 toolbarButtons() 針對按鈕的位置跟顯示與否進行調整

RichEditor::make('description')
    ->toolbarButtons([
        'bold', 'italic', 'underline', 'strike', 'subscript', 'superscript', 'link'
    ])
    ->columnSpanFull(),

可以看到按鈕變少了,位置也改變了

調整按鈕

我們甚至可以用 extraInputAttributes 增加 input 欄位的 css attribute

RichEditor::make('description')
    ->toolbarButtons([
        'bold', 'italic', 'underline', 'strike', 'subscript', 'superscript', 'link'
    ])
    ->extraInputAttributes([
        'style' => 'min-height: 300px;'
    ])
    ->columnSpanFull(),

可以看到編輯區的空間整個被拉高了

調整編輯區

今天的客製化部分就先提到這邊,我們明天見!


上一篇
Day 10:Filament 客製化:輸入規則、附加行為、下拉選單、批量編輯
系列文
Laravel 12 開發者幸福度升級指南11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言