blob: 9602201a4d7e280111c3160ed3d2d777062d6a64 [file] [log] [blame]
binquan.qiu7f2665f2020-03-27 17:19:57 +08001module.exports =
2/******/ (function(modules) { // webpackBootstrap
3/******/ // The module cache
4/******/ var installedModules = {};
5/******/
6/******/ // The require function
7/******/ function __webpack_require__(moduleId) {
8/******/
9/******/ // Check if module is in cache
10/******/ if(installedModules[moduleId]) {
11/******/ return installedModules[moduleId].exports;
12/******/ }
13/******/ // Create a new module (and put it into the cache)
14/******/ var module = installedModules[moduleId] = {
15/******/ i: moduleId,
16/******/ l: false,
17/******/ exports: {}
18/******/ };
19/******/
20/******/ // Execute the module function
21/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22/******/
23/******/ // Flag the module as loaded
24/******/ module.l = true;
25/******/
26/******/ // Return the exports of the module
27/******/ return module.exports;
28/******/ }
29/******/
30/******/
31/******/ // expose the modules object (__webpack_modules__)
32/******/ __webpack_require__.m = modules;
33/******/
34/******/ // expose the module cache
35/******/ __webpack_require__.c = installedModules;
36/******/
37/******/ // define getter function for harmony exports
38/******/ __webpack_require__.d = function(exports, name, getter) {
39/******/ if(!__webpack_require__.o(exports, name)) {
40/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41/******/ }
42/******/ };
43/******/
44/******/ // define __esModule on exports
45/******/ __webpack_require__.r = function(exports) {
46/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48/******/ }
49/******/ Object.defineProperty(exports, '__esModule', { value: true });
50/******/ };
51/******/
52/******/ // create a fake namespace object
53/******/ // mode & 1: value is a module id, require it
54/******/ // mode & 2: merge all properties of value into the ns
55/******/ // mode & 4: return value when already ns object
56/******/ // mode & 8|1: behave like require
57/******/ __webpack_require__.t = function(value, mode) {
58/******/ if(mode & 1) value = __webpack_require__(value);
59/******/ if(mode & 8) return value;
60/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61/******/ var ns = Object.create(null);
62/******/ __webpack_require__.r(ns);
63/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65/******/ return ns;
66/******/ };
67/******/
68/******/ // getDefaultExport function for compatibility with non-harmony modules
69/******/ __webpack_require__.n = function(module) {
70/******/ var getter = module && module.__esModule ?
71/******/ function getDefault() { return module['default']; } :
72/******/ function getModuleExports() { return module; };
73/******/ __webpack_require__.d(getter, 'a', getter);
74/******/ return getter;
75/******/ };
76/******/
77/******/ // Object.prototype.hasOwnProperty.call
78/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79/******/
80/******/ // __webpack_public_path__
81/******/ __webpack_require__.p = "";
82/******/
83/******/
84/******/ // Load entry module and return exports
85/******/ return __webpack_require__(__webpack_require__.s = 25);
86/******/ })
87/************************************************************************/
88/******/ ({
89
90/***/ 25:
91/***/ (function(module, exports, __webpack_require__) {
92
93"use strict";
94
95
96Component({
97 options: {
98 addGlobalClass: true
99 },
100 properties: {
101 extClass: {
102 type: String,
103 value: ''
104 },
105 focus: {
106 type: Boolean,
107 value: false
108 },
109 placeholder: {
110 type: String,
111 value: '搜索'
112 },
113 value: {
114 type: String,
115 value: ''
116 },
117 search: {
118 type: Function,
119 value: null
120 },
121 throttle: {
122 type: Number,
123 value: 500
124 },
125 cancelText: {
126 type: String,
127 value: '取消'
128 },
129 cancel: {
130 type: Boolean,
131 value: true
132 }
133 },
134 data: {
135 result: []
136 },
137 lastSearch: Date.now(),
138 lifetimes: {
139 attached: function attached() {
140 if (this.data.focus) {
141 this.setData({
142 searchState: true
143 });
144 }
145 }
146 },
147 methods: {
148 clearInput: function clearInput() {
149 this.setData({
150 value: ''
151 });
152 this.triggerEvent('clear');
153 },
154 inputFocus: function inputFocus(e) {
155 this.triggerEvent('focus', e.detail);
156 },
157 inputBlur: function inputBlur(e) {
158 this.setData({
159 focus: false
160 });
161 this.triggerEvent('blur', e.detail);
162 },
163 showInput: function showInput() {
164 this.setData({
165 focus: true,
166 searchState: true
167 });
168 },
169 hideInput: function hideInput() {
170 this.setData({
171 searchState: false
172 });
173 },
174 inputChange: function inputChange(e) {
175 var _this = this;
176
177 this.setData({
178 value: e.detail.value
179 });
180 this.triggerEvent('input', e.detail);
181 if (Date.now() - this.lastSearch < this.data.throttle) {
182 return;
183 }
184 if (typeof this.data.search !== 'function') {
185 return;
186 }
187 this.lastSearch = Date.now();
188 this.timerId = setTimeout(function () {
189 _this.data.search(e.detail.value).then(function (json) {
190 _this.setData({
191 result: json
192 });
193 }).catch(function (err) {
194 console.log('search error', err);
195 });
196 }, this.data.throttle);
197 },
198 selectResult: function selectResult(e) {
199 var index = e.currentTarget.dataset.index;
200
201 var item = this.data.result[index];
202 this.triggerEvent('selectresult', { index: index, item: item });
203 }
204 }
205});
206
207/***/ })
208
209/******/ });