|
3 | 3 | <transition name="custom-classes-transition" enter-active-class="animated lightSpeedIn"> |
4 | 4 | <div v-show="showTitle"> |
5 | 5 | <Card :padding="0"> |
6 | | - <div slot="title" @click="bodySwitch" class="card-title"> |
| 6 | + <div slot="title" class="card-title"> |
7 | 7 | <Icon :type="titleIcon"></Icon> |
8 | 8 | <!--<span>发现 <Badge :count="count"></Badge> 个脚本适用于当前页面</span>--> |
9 | | - <i18n path="table.tips" tag="span"> |
10 | | - <Badge place="count" :count="count" style="padding:0px 5px;"></Badge> |
11 | | - </i18n> |
12 | | - <span v-show="showBody"> |
13 | | - - Userscript+ |
14 | | - </span> |
| 9 | + <span v-if="!showSearchInput" @click="bodySwitch"> |
| 10 | + <i18n path="table.tips" tag="span"> |
| 11 | + <Badge place="count" :count="count" style="padding:0px 5px;"></Badge> |
| 12 | + </i18n> |
| 13 | + <span v-show="showBody"> |
| 14 | + - Userscript+ |
| 15 | + </span> |
| 16 | + </span> |
| 17 | + <Input v-else v-model="searchInput" icon="android-search" placeholder="Enter title、description、author..." style="width: 450px;height: 25px;"></Input> |
15 | 18 | </div> |
16 | 19 | <div slot="extra"> |
17 | 20 | <span v-show="showBody"> |
| 21 | + <Tooltip :content="$t('table.search')" placement="bottom"> |
| 22 | + <Button type="dashed" @click="showSearchInput = !showSearchInput"> |
| 23 | + <Icon type="android-search"></Icon> |
| 24 | + </Button> |
| 25 | + </Tooltip> |
| 26 | + |
18 | 27 | <Tooltip :content="$t('table.feedback')" placement="bottom"> |
19 | 28 | <Button type="dashed" @click="open('https://greasyfork.org/zh-CN/scripts/24508/feedback')"> |
20 | 29 | <Icon type="bug"></Icon> |
|
125 | 134 | }, |
126 | 135 | data: function () { |
127 | 136 | return { |
| 137 | + showSearchInput: false, |
| 138 | + searchInput: '', |
128 | 139 | showTitle: false, |
129 | 140 | showBody: false, |
130 | 141 | titleIcon: 'chevron-up', |
|
228 | 239 | } |
229 | 240 | ], |
230 | 241 | // 表格数据 |
| 242 | + originData: [], |
231 | 243 | data: [] |
232 | 244 | } |
233 | 245 | }, |
|
243 | 255 | Tools.dispatchEvent('min') |
244 | 256 | } |
245 | 257 | window.dispatchEvent(new Event('resize')) |
| 258 | + }, |
| 259 | + searchInput: function (val) { |
| 260 | + if (val) { |
| 261 | + val = val.toLowerCase() |
| 262 | + this.data = Tools.searcher(this.originData,val) |
| 263 | + } else { |
| 264 | + this.data = this.originData |
| 265 | + } |
246 | 266 | } |
247 | 267 | }, |
248 | 268 | methods: { |
|
265 | 285 | this.$Spin.show() |
266 | 286 | Tools.dispatchEvent('loading') |
267 | 287 | Tools.getData((json) => { |
| 288 | + this.originData = json |
268 | 289 | this.data = json |
269 | 290 | this.$Spin.hide() |
270 | 291 | this.showBody = !this.showBody |
|
0 commit comments