You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
900 B
44 lines
900 B
4 years ago
|
<template>
|
||
|
<u-index-list :scrollTop="scrollTop" :index-list="indexList">
|
||
|
<view v-for="(item, index) in list" :key="index">
|
||
|
<u-index-anchor :index="item.letter" />
|
||
|
<view class="list-cell u-border-bottom" v-for="(item1, index) in item.data" :key="index">
|
||
|
{{item1.name}}
|
||
|
</view>
|
||
|
</view>
|
||
|
</u-index-list>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import indexList from "@/common/index.list.js";
|
||
|
const letterArr = indexList.list.map(val => {
|
||
|
return val.letter;
|
||
|
})
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
scrollTop: 0,
|
||
|
indexList: letterArr,
|
||
|
list: indexList.list
|
||
|
}
|
||
|
},
|
||
|
onPageScroll(e) {
|
||
|
this.scrollTop = e.scrollTop;
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
.list-cell {
|
||
|
display: flex;
|
||
|
box-sizing: border-box;
|
||
|
width: 100%;
|
||
|
padding: 10px 24rpx;
|
||
|
overflow: hidden;
|
||
|
color: $u-content-color;
|
||
|
font-size: 14px;
|
||
|
line-height: 24px;
|
||
|
background-color: #fff;
|
||
|
}
|
||
|
</style>
|