簡體   English   中英

使用v模型從textarea獲取新行-VueJS

[英]Get new rows from textarea with v-model - VueJS

我擔心如何從textarea中獲取字符串,但又如何通過按Enter鍵以及TAB空間來獲取添加的每一行。 優先事項是獲取每個新行,因此我可以使用該字符串添加到段落中,但要尊重新行,TAB空間。

例:

Textarea文本: http : //prntscr.com/kvbbcv

當我為該段添加價值時: http : //prntscr.com/kvbbur

再舉一個例子: http : //prntscr.com/kvhmca

解決此問題的最佳實踐是什么?

碼:

<textarea v-model="comment"></textarea>

<p>{{ comment }}</p>

我找到了解決此問題的解決方案。

解決方案是使用<div contenteditable></div>並使用@input="contentEditableChange()"更改其中的內容時從此<div>獲取值。

該函數將值返回為HTML。 但是,使用v-html可以將html字符串轉換為html預覽。

所以最終的解決方案代碼是:

<div id="unique-element" @input="contentEditableChange()" contenteditable></div>

<p v-html="message"></p>

方法:

contentEditableChange() {
   this.message = document.getElementById("unique-element").innerHTML;
},

如果您使用ckeditor,可以嘗試這樣

<ckeditor v-model="comment"></ckeditor>    
<p v-html>{{comment}}</p>

因為ckeditor已自動添加了新行。 或者,如果您使用textarea,請手動添加<br>標記。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM