【发布时间】:2021-08-04 18:29:37
【问题描述】:
我有这个js fiddle code。我想使用 vuejs 创建一个建议自动完成功能。目前我只完成了部分范围,我对这些建议有疑问。它们将被放置在用户输入字符下,这并不完全是我所期望的,我想做一些类似于智能手机键盘的自动完成的事情,在用户输入单词时将显示建议的单词。谁能帮帮我?
<div id="app">
<textarea id="input" v-model="input" @input="predictWord()"></textarea>
<span id="suggestion" ref="suggestion"></span>
</div>
#app {
.input {
position: relative;
}
#suggestion {
position: absolute;
left: 0;
}
}
Vue 原型代码
new Vue({
el: "#app",
data() {
return {
input: null,
t9: null,
words: []
}
},
mounted() {
this.init();
},
methods: {
init() {
axios({
method: 'GET',
url: 'https://raw.githubusercontent.com/napolux/paroleitaliane/master/paroleitaliane/660000_parole_italiane.txt'
}).then( (res) => {
this.words = res.data.split('\n');
this.t9 = Predictionary.instance();
this.t9.addWords(this.words);
});
},
predictWord() {
let suggestion;
this.countChars();
suggestion = this.t9.predict(this.input);
this.$refs.suggestion.innerText = suggestion[0];
},
countChars() {
console.log(this.input.length);
}
}
});
【问题讨论】:
标签: javascript html css vue.js autocomplete