最近我正在開發一個 laravel nova 后臺管理系統,用于展示用戶數據。除了用戶的姓名、郵箱等基本信息外,我還需要顯示用戶的注冊時間和最后一次登錄時間。 如果直接在表格中添加這兩列,表格就會顯得非常擁擠,影響用戶查看核心信息的效率。 這時,我便想到了使用工具提示來解決這個問題。
經過一番搜索,我找到了 ideatocode/nova-tooltip-field 這個優秀的 laravel Nova 插件。它允許我們將額外的信息隱藏在工具提示中,鼠標懸停在指定字段上即可查看詳細信息。
安裝非常簡單,只需要使用 composer:
composer require ideatocode/nova-tooltip-field
使用起來也很方便,只需要在 Nova 資源的 fields 方法中添加 Tooltip 字段即可:
use IdeatocodeNovaTooltipFieldTooltip;<br>use CarbonCarbon;</p><p>public function fields(Request $request)<br>{</p><pre class="brush:php;toolbar:false">return [ Text::make('Name'), Text::make('Email'), Tooltip::make('More Info', function () { return '<strong>注冊時間:</strong>' . Carbon::parse($this->created_at)->diffForHumans() . '<br>' . '<strong>最后登錄時間:</strong>' . Carbon::parse($this->last_login_at)->diffForHumans(); })->ashtml(), // 使用 asHtml() 方法支持 HTML 內容 ];
}
這段代碼創建了一個名為 “More Info” 的工具提示字段。 function() 中的代碼返回了注冊時間和最后登錄時間的 HTML 格式字符串。 ->asHtml() 確保了 HTML 代碼能夠被正確渲染。 你還可以自定義工具提示的觸發元素:
Tooltip::make('More Info', function () { ... })->trigger('查看詳情')
將這段代碼添加到你的 Nova 資源中后,在列表視圖中,”More Info” 字段將會以簡潔的文字顯示,鼠標懸停其上時,則會顯示完整的注冊時間和最后登錄時間信息。
這個庫不僅提升了用戶體驗,也使得我的 Nova 后臺管理系統更加美觀和易于使用。 通過將不重要的信息隱藏在工具提示中,我成功地避免了表格的臃腫,提升了用戶查看核心數據的效率。
總而言之,ideatocode/nova-tooltip-field 是一個非常實用且易于使用的 Laravel Nova 插件,強烈推薦給所有需要在 Nova 列表中精簡顯示數據的開發者。 它讓我深刻體會到,細節決定成敗,一個小小的改進就能帶來巨大的提升。 如果你想了解更多關于 Composer 的知識,可以參考這個 Composer 在線學習地址:學習地址。