css的white-space: pre

用戶從別的地方復制的配置文件,粘貼到輸入框內,需要保留原始格式發送給后端。

核心步驟:

### 1. 格式保持機制
- white-space: pre :這是最關鍵的CSS屬性,確保所有空格、制表符、換行符都被保留
- wrap="off" :防止瀏覽器自動換行,保持原始的行結構
- 等寬字體 :使用Consolas等編程字體,確保字符對齊和格式清晰
### 2. 數據綁定
- 使用Vue3的 v-model="inputJson" 實現雙向數據綁定
- 用戶粘貼的內容會完整存儲在 inputJson.value 中,包括所有格式字符
### 3. 用戶體驗
- 大尺寸textarea(400px高度)提供充足的編輯空間
- 關閉拼寫檢查避免干擾
- 聚焦時的視覺反饋
簡單來說,這個組件的核心就是讓用戶能夠粘貼任何文本內容(特別是配置文件、JSON等),并且保證粘貼的內容格式完全不變,然后可以原樣發送給后端處理。

下面是一個小demo

<template><div class="json-input-container"><textarea v-model="inputJson" placeholder="請粘貼配置文件內容,將保持原始格式"class="json-textarea"rows="15"wrap="off"spellcheck="false"></textarea><div class="format-info"><small>保持原始格式,包括換行符、空格和縮進,內容將原樣發送給后端</small></div></div>
</template><script setup>
import {ref,watch} from "vue";// 輸入內容,保持原始格式
let inputJson = ref('');
watch(inputJson, (newValue) => {console.log(JSON.stringify(newValue));
})
</script><style scoped>
.json-input-container {width: 100%;max-width: 800px;margin: 0 auto;
}.json-textarea {width: 100%;min-height: 400px;padding: 16px;border: 2px solid #e1e5e9;border-radius: 8px;font-family: 'Consolas', 'Monaco', 'Courier New', monospace;font-size: 14px;line-height: 1.5;background-color: #f8f9fa;color: #333;resize: vertical;outline: none;transition: border-color 0.3s ease;white-space: pre;overflow-wrap: normal;overflow-x: auto;box-sizing: border-box;
}.json-textarea:focus {border-color: #007bff;background-color: #fff;box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}.json-textarea::placeholder {color: #6c757d;font-style: italic;
}.format-info {margin-top: 8px;text-align: center;color: #6c757d;
}.format-info small {font-size: 12px;
}
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94508.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94508.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94508.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【AI解讀源碼系列】ant design mobile——Space間距

前言 筆者目前業務主要圍繞ant design mobile組件庫來交付H5前端工作。 故此出此專欄來解讀每一個組件是如何實現的。 本文基于AI來解讀Space組件。 文檔鏈接&#xff1a; https://mobile.ant.design/zh/components/space 源碼&#xff1a; https://github.com/ant-design/ant-…

《用餐》,午餐食堂即景小詩分享(手機/小視頻/光盤/養生)

大媽食堂碎碎念&#xff0c;怪罪手機延工期。 筆記模板由python腳本于2025-08-21 19:34:46創建&#xff0c;本篇筆記適合喜歡友善生活和詩的coder翻閱。 學習的細節是歡悅的歷程 博客的核心價值&#xff1a;在于輸出思考與經驗&#xff0c;而不僅僅是知識的簡單復述。 Python官…

高通平臺WIFI學習-- 基于WCN6750 Tri-Band 2x2 MIMO 802.11ax的講解

一 前言: 官方資料顯示WLAN支持如下的Key features ■ Compliant with IEEE 802.11a/b/g/n/ac/ax ■ Supports 2x2 multi-user multiple-input multiple-output (MU-MIMO) ■ Up to 2.9 Gbps data rate (2x2 160 MHz) ■ Tri-band 2.4 GHz/5 GHz/6 GHz support ■ 20 MHz…

javaweb開發筆記——XML_Tomcat10_HTTP

第四章 XML_Tomcat10_HTTP 一 XML XML是EXtensible Markup Language的縮寫&#xff0c;翻譯過來就是可擴展標記語言。所以很明顯&#xff0c;XML和HTML一樣都是標記語言&#xff0c;也就是說它們的基本語法都是標簽。 可擴展 三個字表面上的意思是XML允許自定義格式。但這不代…

Python從入門到自動化運維

文章目錄IPO編程方式、print、input函數print() -- 輸出信息到屏幕input() -- 讀取用戶的輸入基本數據類型int、float、bool、str常用 str 操作方法格式化字符串的三種方式數據驗證方法字符串拼接字符串去重數據類型轉換函數容器類型列表(list)&#xff1a;可變、可重復、有序元…

【數據可視化-98】2025年上半年地方財政收入Top 20城市可視化分析:Python + Pyecharts打造炫酷暗黑主題大屏

&#x1f9d1; 博主簡介&#xff1a;曾任某智慧城市類企業算法總監&#xff0c;目前在美國市場的物流公司從事高級算法工程師一職&#xff0c;深耕人工智能領域&#xff0c;精通python數據挖掘、可視化、機器學習等&#xff0c;發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

【基礎-單選】向服務器提交表單數據,以下哪種請求方式比較合適

向服務器提交表單數據&#xff0c;以下哪種請求方式比較合適A.RequestMethod.GET B.RequestMethod.PUT C.RequestMethod.POST D.RequestMethod.DELETE 解釋如下&#xff1a; 在HarmonyOS應用開發中&#xff0c;向服務器提交表單數據&#xff0c;C. RequestMethod.POST 是比較合…

論文閱讀:Code as Policies: Language Model Programs for Embodied Control

地址&#xff1a;Code as Policies: Language Model Programs for Embodied Control 摘要 針對代碼補全任務訓練的大型語言模型&#xff08;LLMs&#xff09;已被證實能夠從文檔字符串&#xff08;docstrings&#xff09;中合成簡單的 Python 程序。研究發現&#xff0c;這些…

Vue 3 customRef 完全指南:自定義響應式引用的終極教程

&#x1f4d6; 概述 customRef() 是 Vue 3 中用于創建自定義響應式引用的組合式 API。它允許開發者完全控制響應式數據的讀取和寫入行為&#xff0c;為復雜的響應式邏輯提供了強大的靈活性。 &#x1f3af; 基本概念 什么是 customRef&#xff1f; customRef() 是一個工廠函數…

Java項目-蒼穹外賣_Day1

項目來源&#xff1a; 【黑馬程序員 Java項目實戰《蒼穹外賣》】 [https://www.bilibili.com/video/BV1TP411v7v6] ZZHow(ZZHow1024) 軟件開發整體介紹 軟件開發流程 需求分析&#xff1a;需求規格說明書、產品原型。設計&#xff1a;UI 設計、數據庫設計、接口設計。編碼…

面試可能問到的問題思考-MySQL

MySQL 1. 數據庫與緩存的一致性 引入緩存&#xff0c;因為緩存只是數據庫數據的副本&#xff0c;那么就可能存在副本和原數據不一致的情況 一致性 ACID里面的C&#xff0c;和CAP中的C不是一個概念&#xff0c;雖然都叫一致性。CAP中的C&#xff0c;指的是多個副本之間邏輯上…

【Java】 Spring Security 賦能 OAuth 2.0:構建安全高效的現代認證體系

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! 在當今數字化時代,認證與授權已成為應用系統安全的核心。OAuth 2.0 作為一種開放標準協議,廣泛應用于第三方授權場景中,而 Spring Security 則提供了強大的框架支持來實現這一協議。本文深…

實際工作幾月后常用相關命令筆記記錄

目前&#xff0c;我這只工程師幼崽經歷幾個月的工作&#xff0c;不能說是收獲很多&#xff0c;也算是成長經驗1吧。主要工作后才知道好多東西都是自己不會的不了解的&#xff0c;但是工作需要不一定自己完全吃透&#xff0c;在合適的地方正確的使用一般情況就ok了&#xff0c;所…

突破傳統文本切片的瓶頸:AntSK-FileChunk語義切片技術詳解前言:為什么我們需要重新思考文本切片?

在當今大語言模型&#xff08;LLM&#xff09;應用蓬勃發展的時代&#xff0c;我們面臨著一個看似簡單卻至關重要的問題&#xff1a;如何有效地處理長文本&#xff1f;無論是構建知識庫、實現RAG&#xff08;檢索增強生成&#xff09;系統&#xff0c;還是進行文檔智能分析&…

LeetCode-542. 01 矩陣

1、題目描述給定一個由 0 和 1 組成的矩陣 mat &#xff0c;請輸出一個大小相同的矩陣&#xff0c;其中每一個格子是 mat 中對應位置元素到最近的 0 的距離。兩個相鄰元素間的距離為 1 。示例 1&#xff1a;輸入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 輸出&#xff1a;[[…

Elasticsearch如何確保數據一致性?

Elasticsearch 通過多種機制確保數據在分布式環境中的一致性&#xff0c;但由于其分布式和近實時&#xff08;Near Real-Time, NRT&#xff09;的特性&#xff0c;它提供的是最終一致性&#xff08;Eventual Consistency&#xff09;&#xff0c;而非強一致性。以下是核心機制和…

2026畢設選題-大數據-基于 Spring Boot的化妝品推薦系統的設計與實現

技術范圍&#xff1a;大數據、物聯網、SpringBoot、Vue、SSM、HLMT、小程序、PHP、Nodejs、Python、爬蟲、數據可視化、安卓App、機器學習等設計與開發。 主要內容&#xff1a;功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論文降重、長…

數據結構算法:順序表

數據結構&#xff1a;順序表一.寄包柜1.題目如何創建數組&#xff1f;1. 需求本質2. 傳統靜態數組的缺陷3. 動態方案&#xff1a;向量的數組4. 核心邏輯5. 關鍵優勢總結2.解題思路2.1題目分析2.2具體解題邏輯拆解步驟2.3總結2.4參考代碼二.移動零1.題目2.解題思路2.1**解題核心…

IIS 安裝了.netcore運行時 還是報錯 HTTP 錯誤 500.19

IIS 安裝了.netcore運行時 還是報錯 HTTP 錯誤 500.19 - Internal Server Error 錯誤代碼 0x8007000d 我甚至是先安裝的SDK&#xff0c;再安裝的運行時runtime的安裝包&#xff0c;都不行。 而且在IIS的模塊中&#xff0c;找不到 AspNetCoreModuleV2。 最后在微軟官網n…

Flink 滑動窗口實戰:從 KeyedProcessFunction 到 AggregateFunction WindowFunction 的完整旅程

一、業務背景 我們要在 Flink 實時流上統計 每個用戶-品牌組合最近 1 小時的最晚行為時間&#xff0c;并且每 5 分鐘更新一次結果。 數據來自 Kafka&#xff0c;事件類型為 CartEvent&#xff1a; public class CartEvent {public String userId;public String brandId;public …