<li class="item" v-for="(item, key) of cities" :key="key" @click="handleLetterClick">
{
{
key}}
</li>
methods: {
this.$emit('chenge, e.target.innerText')
handleLetterClick (e) {
console.log(e.target.innerText)
}
}
<city-alphabet :cities="cities" @change="handleLetterClick"></city-alphabet>
methods: {
handleLetterClick (letter) {
console.log(letter)
}
}
handleLetterClick (letter) {
this.letter = letter
console.log(letter)
}
监听器 (联动最后一步)
<div class="area" v-for="(item, key) of cities" :key="key" :ref="key">
<div class="title border-topbottom">{
{
key}}</div>
<div class="item-list">
<div class="item border-bottom" v-for="innerItem of item" :key="innerItem.id">{
{
innerItem.name}}</div>
</div>
</div>
</div>
watch: {
letter () {
if (this.letter) {
const element = this.$refs[this.letter][0]
this.scroll.srollToElement(element)
}
}
}