1
1
<template >
2
- <view
3
- class =" page"
4
- style =" height : 100vh ;"
5
- >
6
- <view style =" height : 100% ;" >
7
- <at-indexes
8
- topKey =" Top"
9
- :list =" mockdata"
10
- @click =" handleClick"
11
- @scroll-into-view =" handleScrollIntoView"
12
- >
13
- <view class =" custom-area" >
14
- 用户自定义内容
15
- <at-search-bar
16
- placeholder =" 跳转到指定Key"
17
- :value =" searchbarValue"
18
- @change =" handleChange"
19
- @action-click =" handleActionClick"
20
- />
21
- </view >
22
- </at-indexes >
2
+ <view class =" page" >
3
+ <view style =" height : 100vh ;" >
4
+ <at-indexes
5
+ topKey =" Top"
6
+ :list =" mockdata"
7
+ @click =" handleClick"
8
+ @scroll-into-view =" handleScrollIntoView"
9
+ >
10
+ <view class =" custom-area" >
11
+ 用户自定义内容
12
+ <at-search-bar
13
+ placeholder =" 跳转到指定Key"
14
+ :value =" searchbarValue"
15
+ @change =" handleChange"
16
+ @action-click =" handleActionClick"
17
+ />
23
18
</view >
19
+ </at-indexes >
24
20
</view >
21
+ </view >
25
22
</template >
26
23
27
24
<script lang="ts">
@@ -33,55 +30,55 @@ import mockData from './mock-data'
33
30
34
31
export default defineComponent ({
35
32
36
- components: {
37
- AtIndexes ,
38
- AtSearchBar ,
39
- },
33
+ components: {
34
+ AtIndexes ,
35
+ AtSearchBar ,
36
+ },
40
37
41
- setup() {
42
- const searchbarValue = ref (' ' )
43
- const mockdata = ref (mockData )
38
+ setup() {
39
+ const searchbarValue = ref (' ' )
40
+ const mockdata = ref (mockData )
44
41
45
- let scrollIntoView = (key ) => {
46
- Taro .showToast ({
47
- title: ` scrollIntoView: ${key } ` ,
48
- icon: ' none'
49
- })
50
- }
42
+ const scrollIntoView = ref ( (key ) => {
43
+ Taro .showToast ({
44
+ title: ` scrollIntoView: ${key } ` ,
45
+ icon: ' none'
46
+ })
47
+ })
51
48
52
- function handleClick(item ) {
53
- Taro .showToast ({
54
- title: ` onClick: ${JSON .stringify (item )} ` ,
55
- icon: ' none'
56
- })
57
- }
49
+ function handleClick(item ) {
50
+ Taro .showToast ({
51
+ title: ` onClick: ${JSON .stringify (item )} ` ,
52
+ icon: ' none'
53
+ })
54
+ }
58
55
59
- function handleActionClick() {
60
- if (! searchbarValue .value ) {
61
- return
62
- }
63
- setTimeout (() => {
64
- scrollIntoView && scrollIntoView (searchbarValue .value .toUpperCase ())
65
- }, 10 );
66
- }
56
+ function handleActionClick() {
57
+ if (! searchbarValue .value ) {
58
+ return
59
+ }
67
60
68
- function handleChange( value ) {
69
- searchbarValue .value = value
70
- }
61
+ scrollIntoView . value ( searchbarValue . value . toUpperCase ())
62
+ searchbarValue .value = ' '
63
+ }
71
64
72
- function handleScrollIntoView(fn ) {
73
- scrollIntoView = fn
74
- }
65
+ function handleChange(value ) {
66
+ searchbarValue .value = value
67
+ }
68
+
69
+ function handleScrollIntoView(fn ) {
70
+ scrollIntoView .value = fn
71
+ }
75
72
76
- return {
77
- mockdata ,
78
- searchbarValue ,
79
- handleClick ,
80
- handleChange ,
81
- handleActionClick ,
82
- handleScrollIntoView
83
- }
73
+ return {
74
+ mockdata ,
75
+ searchbarValue ,
76
+ handleClick ,
77
+ handleChange ,
78
+ handleActionClick ,
79
+ handleScrollIntoView
84
80
}
81
+ }
85
82
})
86
83
</script >
87
84
0 commit comments