2024-12-04 jacklmoore 的 Autosize 可以用在vue 裡面嗎?
2024-12-04 jacklmoore 的 Autosize 可以用在vue 裡面嗎?
是的,Jack Moore 的 Autosize 可以用在 Vue 中,但需要稍微調整以適應 Vue 的框架。Autosize 的作用是自動調整 <textarea> 的高度以適應其內容,這與 Vue 是兼容的。以下是一些具體的實現步驟和建議:
1. 安裝 Autosize
你可以使用 npm 安裝 Autosize:
1 | npm install autosize |
或直接透過 <script> 引用 CDN:
1 | <script src="https://cdn.jsdelivr.net/npm/autosize/dist/autosize.min.js"></script> |
2. 在 Vue 中使用 Autosize
使用 Vue 的 onMounted(Vue 3)
你可以在組件的 onMounted 中初始化 Autosize,並監聽 textarea 元素的變化。
1 | <template> |
3. 注意點
更新數據時的同步問題:
當內容更新時,Autosize 會自動調整,但如果是通過程式設置v-model值,則可能需要手動觸發調整:1
autosize.update(textarea.value);
僅作用於
<textarea>元素:
Autosize 不會對其他輸入類型生效,所以請確保你只用於<textarea>。
4. 封裝成自定義指令(可選)
為了更方便重用,可以將 Autosize 封裝成 Vue 的自定義指令:
1 | import autosize from 'autosize'; |
使用這個指令:
1 | <template> |
這樣做可以讓 Autosize 更方便地集成到你的 Vue 應用中!如需更多調整,可參考 Autosize 的官方文檔。