gaoqiiii / vue-ace

在vue中使用ace编辑器 (https://ace.c9.io/)
22 stars 8 forks source link

很好用!!!请问这两个功能如何实现? #2

Open 2450184176 opened 6 years ago

2450184176 commented 6 years ago

如何利用change事件来触发自定义的一些字符的提示,比方说输入select * from ,此时要出现数据库或者表格的字符,这些是从后台返回的数据,怎么提示出来呢?

gaoqiiii commented 6 years ago

这个需要改造 node/modules/brace/mode 下的内容

2450184176 commented 6 years ago

怎么改呢?能给一个demo吗?

gaoqiiii commented 6 years ago

比较麻烦 我给你大致讲一下思路。 mode下的每个js文件是一种语言的提示模板,你可以仿照任意一个文件的格式, 新建一个你想要实现的语言的js文件。 里面需要正则来匹配提示环境。后台提示这种 ace我还没做, 做过一个codemirror的,原理大致相同,希望对你有所帮助。

gaoqiiii commented 6 years ago

https://mp.weixin.qq.com/s/yRiY_zek52gJ-daFNlgYRQ

2450184176 commented 6 years ago

好,我先看看,,,多谢。

2450184176 commented 5 years ago

为什么要在主页引入 dist.js 才能用呢?

shenmanong commented 5 years ago

vue中如何取编辑器里的内容呢,通过一个点击事件把内容如何拿出来

ghost commented 5 years ago

如何利用change事件来触发自定义的一些字符的提示,比方说输入select * from ,此时要出现数据库或者表格的字符,这些是从后台返回的数据,怎么提示出来呢?

请问解决了吗?我有同样的问题。

2450184176 commented 5 years ago

如何利用change事件来触发自定义的一些字符的提示,比方说输入select * from ,此时要出现数据库或者表格的字符,这些是从后台返回的数据,怎么提示出来呢?

请问解决了吗?我有同样的问题。

if (edit.getValue().endsWith('from ')) {
this.$refs.editor.setCompleteData(this.dbData);
} else if (edit.getValue().endsWith('.')) {
this.$refs.editor.setCompleteData(this.tbData);
}
ghost commented 5 years ago

@2450184176 我用的是 vue2-brace-editor 插件,好像不能这样用,怎么样都获取不到设置的方法

2450184176 commented 5 years ago

@2450184176 我用的是 vue2-brace-editor 插件,好像不能这样用,怎么样都获取不到设置的方法

用setCompleteData这个方法。

ghost commented 5 years ago

@2450184176 我获取不到 setCompleteData 这个方法。报错 is not a function