需求描述使用MySQL模式的提示,提示SQL关键字。但是我们在写SQL的时候,经常需要提示库和表的字段。经过分析,发现有addCompleter方法可以自定义提示,但是换库后,之前库中的表提示都会存在,需要清除,所以在源码中加了一个flag来判断是否清除它。改造步骤下载vue2-brace-editor源码包,进入文件夹,npmi下载需要的依赖。在Ace.component.vue文件的methods方法中添加如下代码function(editor,session,pos,prefix,callback){if(prefix.length===0){returncallback(null,[]);}else{returncallback(null,data)}}})}else{让{textCompleter,keyWordCompleter,snippetCompleter}=lt;lt.setCompleters([textCompleter,keyWordCompleter,snippetCompleter])}},flag表示是否设置,为false时,编辑框中的提示数据会被重置。数据是设置的数据。查看下面的具体用法后,使用打包命令输出对应的包"scripts":{"build":"yarnrunbuild:lib&&yarnrunbuild:umd&&yarnrunbuild:umd:min","build:lib":"babelsrc--out-dirlib","build:umd":"webpacksrc/index.jsdist/vue-ace.js--configwebpack.config.dev.js","build:umd:min":"webpacksrc/index.jsdist/vue-ace.min.js--configwebpack.config.prod.js","clean":"rimraflibdist"},使用方法导入打包后的文件,具体打包请自行百度。在打包后的组件上,可以通过this.$refs['youreditorref']获取实例,调用setCustomPrompts传入设置或清除的参数(flag为false则清除);如this.$refs['MyAceEditor'].setCustomPrompts(flag,data);data的格式如下letdata=[{meta:'promptfield',caption:'提示字段',value:'提示字段',score:5},]score代表权重,是一个数值,提示越大提示越高
