1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
| // pages/module_consult/consultsearch/consultsearch.js
| Page({
| /**
| * 页面的初始数据
| */
| data: {
| focus: false,
| placeholder: '搜索',
| value: '',
|
| histroy: [],
|
| hotTopic: [],
| },
|
| /**
| * 生命周期函数--监听页面加载
| */
| onLoad: function (options) {
|
| },
|
| /**
| * 生命周期函数--监听页面初次渲染完成
| */
| onReady: function () {
|
| },
|
| clearInput() {
| // @ts-ignore
| this.setData({
| value: '',
| focus: true,
| result: []
| }); // @ts-ignore
|
| this.triggerEvent('clear');
| },
|
| // @ts-ignore
| inputFocus(e) {
| // this.setData({
| // searchState: true
| // })
| // @ts-ignore
| this.triggerEvent('focus', e.detail);
| },
|
| // @ts-ignore
| inputBlur(e) {
| this.setData({
| focus: false
| });
| this.triggerEvent('blur', e.detail);
| },
|
| // @ts-ignore
| inputChange(e) {
| this.setData({
| value: e.detail.value
| });
| this.triggerEvent('input', e.detail);
|
| // if (Date.now() - this.lastSearch < this.data.throttle) {
| // return;
| // }
|
| if (typeof this.data.search !== 'function') {
| return;
| }
|
| this.lastSearch = Date.now();
| this.timerId = setTimeout(() => {
| if (Date.now() - this.lastSearch < this.data.throttle) {
| return;
| }
| this.data.search(e.detail.value).then(json => {
| this.setData({
| result: json
| });
| }).catch(err => {
| console.error('search error', err);
| });
| }, this.data.throttle);
| },
| })
|
|