当前位置:网站首页>Basic usage of Vue codemirror: search function, code folding function, get editor value and verify in time
Basic usage of Vue codemirror: search function, code folding function, get editor value and verify in time
2020-11-06 20:42:00 【Tell me Zhan to hide】
Yesterday, we realized some codemirror: Basic edit code function 、 Insert variable function 、codemirror Syntax verification function 、 Code formatting ( Because it's mainly json data , So there is no reference to other components for the time being , If necessary, suggest quoting js-beautify, Because we found that codemirror In the new version autoFormatRange Method ), If you want to know more , Please refer to 《 Teach you to understand easily vue-codemirror The basic usage of : The main implementation of code editing 、 Verification tips 、 Code formatting 》, Today continues with yesterday's function code , Mainly share vue-codemirror Realize search function 、 Code folding function 、 Get editor value and verify function in time .
1. vue-codemirror Search function
1.1 On the basis of the original need to introduce the required resources
import 'codemirror/addon/scroll/annotatescrollbar.js'
import 'codemirror/addon/search/matchesonscrollbar.js'
import 'codemirror/addon/search/match-highlighter.js'
import 'codemirror/addon/search/jump-to-line.js'
import 'codemirror/addon/dialog/dialog.js'
import 'codemirror/addon/dialog/dialog.css'
import 'codemirror/addon/search/searchcursor.js'
import 'codemirror/addon/search/search.js'
In fact, the basic search function of introducing these resources has been realized , Press ctrl+F perhaps command+F The search box appears at the top of the editor .

1.2 Click the button to achieve the search effect
The product takes into account that some people may not know how to use the shortcut key , I designed a button , Click to search , Click the search button , The search box appears at the top of the editor .searchCode It is the corresponding method called when the button is pressed .
methods: {
searchCode (e) {
this.codemirror.execCommand('find') // Trigger
}
}
2. vue-codemirror Folding function
The folding function just started to make this editor and wanted to add , But I tried and I didn't succeed , Because there are many configurations , We also need to introduce resources , So this one is put at the end .
2.1 vue-codemirror Collapse the resources that need to be introduced , There are both style files and js file , These are indispensable
// Fold
import 'codemirror/addon/fold/foldgutter.css'
import 'codemirror/addon/fold/foldcode'
import 'codemirror/addon/fold/foldgutter'
import 'codemirror/addon/fold/brace-fold'
import 'codemirror/addon/fold/comment-fold'
2.2 vue-codemirror The basic configuration required for folding
{
foldGutter: true,
lineWrapping: true,
gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter', 'CodeMirror-lint-markers'],
}
vue-codemirror Folding doesn't need to expand any function , Just introduce the configuration parameters that need resources and configure initialization .
Get editor value and verify function in time
In fact, this function is in vue-codemirror When the code editor value has a syntax error , In time, the button becomes non clickable , When there is nothing wrong with it , The submit button is clickable , No better value to get the editor validation state , Can only think of a small shortcut , Determine if there is an error code , use watch Monitor data , When the data changes , See if there's a mistake . The implementation code is as follows :
watch: {
jsonData (val) {
this.checkValid()
}
},
methods: {
checkValid () {
setTimeout(() => {
this.codemirror.refresh()
const container = this.$refs.codeMirror
const len = container.querySelectorAll('.CodeMirror-lint-marker-error').length
this.isValid = !!len && len > 0
}, 1000)
}
}
The effect is as follows :

summary :
Today is mainly followed by 《 Teach you to understand easily vue-codemirror The basic usage of : The main implementation of code editing 、 Verification tips 、 Code formatting 》 The article continues to share vue-codemirror Some uses of , The main implementation of the search 、 Code folding and other functions . It's just my personal opinion , If there is a mistake , Welcome to correct .
Focus on lovepythoncn
**
Reply key :code2, You can get the source code address
版权声明
本文为[Tell me Zhan to hide]所创,转载请带上原文链接,感谢
边栏推荐
- Kubernetes and OAM to build a unified, standardized application management platform knowledge! (Internet disk link attached)
- 如何对数据库账号权限进行精细化管理?
- 代码重构之法——方法重构分析
- Pollard's Rho algorithm
- Filecoin has completed a major upgrade and achieved four major project progress!
- Analysis of ThreadLocal principle
- 事务的隔离级别与所带来的问题
- 常用SQL语句总结
- 如何在终端启动Coda 2中隐藏的首选项?
- JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
猜你喜欢
The dynamic thread pool in Kitty supports Nacos and Apollo multi configuration centers
文件过多时ls命令为什么会卡住?
大道至简 html + js 实现最朴实的小游戏俄罗斯方块
What are PLC Analog input and digital input
Named entity recognition in natural language processing: tanford core LP ner (1)
image operating system windows cannot be used on this platform
Multi robot market share solution
What are Devops
如何在终端启动Coda 2中隐藏的首选项?
The legality of IPFs / filecoin: protecting personal privacy from disclosure
随机推荐
For a while, a dynamic thread pool was created, and the source code was put into GitHub
The AI method put forward by China has more and more influence. Tianda et al. Mined the development law of AI from a large number of literatures
How to demote domain controllers and later in Windows Server 2012
WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
Behind the record breaking Q2 revenue of Alibaba cloud, the cloud opening mode is reshaping
開源一套極簡的前後端分離專案腳手架
嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:王涛
每个大火的“线上狼人杀”平台,都离不开这个新功能
To Lianyun analysis: why is IPFs / filecoin mining so difficult?
Try to build my mall from scratch (2): use JWT to protect our information security and perfect swagger configuration
Jetcache buried some of the operation, you can't accept it
Bitcoin once exceeded 14000 US dollars and is about to face the test of the US election
Even liver three all night, jvm77 high frequency interview questions detailed analysis, this?
StickEngine-架构11-消息队列(MessageQueue)
Basic usage of GDB debugging
How about small and medium-sized enterprises choose shared office?
Introduction to the structure of PDF417 bar code system
Uncle Bob: the software architecture is similar to a house. Object oriented is the structure of the house, and the water pipe is functional programming
Multi robot market share solution
Flink's datasource Trilogy 2: built in connector