vue 如何实现输入文本框内容 添加列表信息 并添加过渡动画效果
不透明度变小的过渡动画
使用CSS3中的@frameKey和animation属性。
<transition-group name="list" tag="ul">
<li v-for="(item, index) in listData" :key="index">{{ item }}</li>
</transition-group>
.list-enter-active, .list-leave-active {
transition: opacity 0.5s;
}
.list-enter, .list-leave-to {
opacity: 0;
}
直接在main.js挂载.组件用v-enterDownNext 贼好用
Vue.directive('enterDownNext', {
inserted: function (el) {
let inputs = el.querySelectorAll('input')
// 绑定回写事件
for (var i = 0; i < inputs.length; i++) {`在这里插入代码片`
inputs[i].setAttribute('keyFocusIndex', i)
inputs[i].addEventListener('keydown', (ev) => {
if (ev.keyCode === 13) {
let targetTo = ev.srcElement.getAttribute('keyFocusTo')
if (targetTo) {
this.$refs[targetTo].$el.focus()
} else {
var attrIndex = ev.srcElement.getAttribute('keyFocusIndex')
var ctlI = parseInt(attrIndex)
// console.log(ctlI)
if (ctlI < inputs.length - 1) {
setTimeout(() => {
inputs[ctlI + 1].focus()
},500)
}
}
}
})
}
}
})