当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Discussion on the development practice of aspnetcore, a cross platform framework
- 小游戏云开发入门
- 大数据处理黑科技:揭秘PB级数仓GaussDB(DWS) 并行计算技术
- 消息队列(MessageQueue)-分析
- 嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:曾文旌
- Azure data factory (3) integrate azure Devops to realize CI / CD
- For a while, a dynamic thread pool was created, and the source code was put into GitHub
- Multi robot market share solution
- Interpretation of Cocos creator source code: engine start and main loop
- GUI engine evaluation index
猜你喜欢

Individual annual work summary and 2019 work plan (Internet)

Even liver three all night, jvm77 high frequency interview questions detailed analysis, this?

Who says cat can't do link tracking? Stand up for me

【转发】查看lua中userdata的方法

CCR coin frying robot: the boss of bitcoin digital currency, what you have to know

From overseas to China, rancher wants to do research on container cloud market

只有1个字节的文件实际占用多少磁盘空间

Swagger 3.0 brushes the screen every day. Does it really smell good?

嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:王涛

文件过多时ls命令为什么会卡住?
随机推荐
2020年第四届中国 BIM (数字建造)经理高峰论坛即将在杭举办
What are Devops
游戏开发中的新手引导与事件管理系统
Discussion on the development practice of aspnetcore, a cross platform framework
行为型模式之解释器模式
Introduction to quantitative investment and Trading (Python introduction to financial analysis)
What are manufacturing and new automation technologies?
IPFs rudder filecoin landing at the same time, fil currency price broke a thousand
Use modelarts quickly, zero base white can also play AI!
Git rebase is in trouble. What to do? Waiting line
Analysis of query intention recognition
Live broadcast preview | micro service architecture Learning Series live broadcast phase 3
【:: 是什么语法?】
Helping financial technology innovation and development, atfx is at the forefront of the industry
新建一个空文件占用多少磁盘空间?
Network programming NiO: Bio and NiO
electron 實現檔案下載管理器
How to understand Python iterators and generators?
Diamond standard
[C] (original) step by step teach you to customize the control element - 04, ProgressBar (progress bar)