lw-cdp-ui 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +5 -5
  2. package/dist/components/lwForm/index.vue +312 -312
  3. package/dist/components/lwIconSelect/iconSelect.js +288 -288
  4. package/dist/components/lwIconSelect/index.vue +142 -142
  5. package/dist/components/lwLayout/components/NavMenu.vue +36 -36
  6. package/dist/components/lwLayout/components/aside.vue +291 -295
  7. package/dist/components/lwLayout/components/bu.vue +72 -70
  8. package/dist/components/lwLayout/components/iframeView.vue +57 -57
  9. package/dist/components/lwLayout/components/lang.vue +76 -76
  10. package/dist/components/lwLayout/components/setting.vue +80 -80
  11. package/dist/components/lwLayout/components/sideM.vue +137 -136
  12. package/dist/components/lwLayout/components/tags.vue +329 -329
  13. package/dist/components/lwLayout/components/topbar.vue +70 -70
  14. package/dist/components/lwLayout/components/userbar.vue +210 -209
  15. package/dist/components/lwLayout/index.vue +399 -398
  16. package/dist/components/lwLogin/index.vue +446 -383
  17. package/dist/components/lwSearch/date/date.vue +110 -110
  18. package/dist/components/lwSearch/dateRange/dateRange.vue +110 -110
  19. package/dist/components/lwSearch/dates/dates.vue +366 -366
  20. package/dist/components/lwSearch/index.vue +636 -636
  21. package/dist/components/lwSearch/input/input.vue +54 -54
  22. package/dist/components/lwSearch/locale/en-us.js +10 -10
  23. package/dist/components/lwSearch/locale/zh-cn.js +10 -10
  24. package/dist/components/lwSearch/select/select.vue +57 -57
  25. package/dist/components/lwSvgIcon/index.vue +28 -28
  26. package/dist/components/lwTable/index.js +425 -425
  27. package/dist/components/lwTable/index.scss +229 -229
  28. package/dist/components/lwTable/index.vue +225 -226
  29. package/dist/components/lwTable/locale/en-US.js +26 -26
  30. package/dist/components/lwTable/locale/zh-CN.js +26 -26
  31. package/dist/components/lwTable/useFullscreen.js +73 -73
  32. package/dist/components/lwTableSelect/index.vue +254 -254
  33. package/dist/components/lwTableSelect/tableSelect.js +23 -23
  34. package/dist/components/lwUpload/index.vue +365 -365
  35. package/dist/en-US-YCjgxjEt.js.map +1 -1
  36. package/dist/en-us-CziFtIQi.js.map +1 -1
  37. package/dist/lw-cdp-ui.esm.js +1484 -1459
  38. package/dist/lw-cdp-ui.esm.js.map +1 -1
  39. package/dist/lw-cdp-ui.umd.js +9 -9
  40. package/dist/lw-cdp-ui.umd.js.map +1 -1
  41. package/dist/style.css +1 -1
  42. package/dist/zh-CN-BdDNsX4e.js.map +1 -1
  43. package/dist/zh-cn-DJpQp_O7.js.map +1 -1
  44. package/package.json +45 -45
@@ -1,73 +1,73 @@
1
- // useFullscreen.js - 全屏功能实现
2
- import { ref, onMounted, onUnmounted } from 'vue'
3
-
4
- export function useFullscreen() {
5
- const isFullscreen = ref(false)
6
-
7
- // 进入全屏
8
- const enterFullscreen = (element) => {
9
- if (element.requestFullscreen) {
10
- element.requestFullscreen()
11
- } else if (element.mozRequestFullScreen) {
12
- // Firefox
13
- element.mozRequestFullScreen()
14
- } else if (element.webkitRequestFullscreen) {
15
- // Chrome, Safari and Opera
16
- element.webkitRequestFullscreen()
17
- } else if (element.msRequestFullscreen) {
18
- // IE/Edge
19
- element.msRequestFullscreen()
20
- }
21
- }
22
-
23
- // 退出全屏
24
- const exitFullscreen = () => {
25
- if (document.exitFullscreen) {
26
- document.exitFullscreen()
27
- } else if (document.mozCancelFullScreen) {
28
- // Firefox
29
- document.mozCancelFullScreen()
30
- } else if (document.webkitExitFullscreen) {
31
- // Chrome, Safari and Opera
32
- document.webkitExitFullscreen()
33
- } else if (document.msExitFullscreen) {
34
- // IE/Edge
35
- document.msExitFullscreen()
36
- }
37
- }
38
-
39
- // 全屏切换
40
- const toggleFullScreen = () => {
41
- if (isFullscreen.value) {
42
- exitFullscreen()
43
- } else {
44
- enterFullscreen(document.documentElement)
45
- }
46
- }
47
-
48
- // 检查全屏状态
49
- const handleFullscreenChange = () => {
50
- isFullscreen.value = Boolean(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement)
51
- }
52
-
53
- // 监听全屏状态变化
54
- onMounted(() => {
55
- document.addEventListener('fullscreenchange', handleFullscreenChange)
56
- document.addEventListener('webkitfullscreenchange', handleFullscreenChange)
57
- document.addEventListener('mozfullscreenchange', handleFullscreenChange)
58
- document.addEventListener('MSFullscreenChange', handleFullscreenChange)
59
- })
60
-
61
- // 清理监听器
62
- onUnmounted(() => {
63
- document.removeEventListener('fullscreenchange', handleFullscreenChange)
64
- document.removeEventListener('webkitfullscreenchange', handleFullscreenChange)
65
- document.removeEventListener('mozfullscreenchange', handleFullscreenChange)
66
- document.removeEventListener('MSFullscreenChange', handleFullscreenChange)
67
- })
68
-
69
- return {
70
- isFullscreen,
71
- toggle: toggleFullScreen
72
- }
73
- }
1
+ // useFullscreen.js - 全屏功能实现
2
+ import { ref, onMounted, onUnmounted } from 'vue'
3
+
4
+ export function useFullscreen() {
5
+ const isFullscreen = ref(false)
6
+
7
+ // 进入全屏
8
+ const enterFullscreen = (element) => {
9
+ if (element.requestFullscreen) {
10
+ element.requestFullscreen()
11
+ } else if (element.mozRequestFullScreen) {
12
+ // Firefox
13
+ element.mozRequestFullScreen()
14
+ } else if (element.webkitRequestFullscreen) {
15
+ // Chrome, Safari and Opera
16
+ element.webkitRequestFullscreen()
17
+ } else if (element.msRequestFullscreen) {
18
+ // IE/Edge
19
+ element.msRequestFullscreen()
20
+ }
21
+ }
22
+
23
+ // 退出全屏
24
+ const exitFullscreen = () => {
25
+ if (document.exitFullscreen) {
26
+ document.exitFullscreen()
27
+ } else if (document.mozCancelFullScreen) {
28
+ // Firefox
29
+ document.mozCancelFullScreen()
30
+ } else if (document.webkitExitFullscreen) {
31
+ // Chrome, Safari and Opera
32
+ document.webkitExitFullscreen()
33
+ } else if (document.msExitFullscreen) {
34
+ // IE/Edge
35
+ document.msExitFullscreen()
36
+ }
37
+ }
38
+
39
+ // 全屏切换
40
+ const toggleFullScreen = () => {
41
+ if (isFullscreen.value) {
42
+ exitFullscreen()
43
+ } else {
44
+ enterFullscreen(document.documentElement)
45
+ }
46
+ }
47
+
48
+ // 检查全屏状态
49
+ const handleFullscreenChange = () => {
50
+ isFullscreen.value = Boolean(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement)
51
+ }
52
+
53
+ // 监听全屏状态变化
54
+ onMounted(() => {
55
+ document.addEventListener('fullscreenchange', handleFullscreenChange)
56
+ document.addEventListener('webkitfullscreenchange', handleFullscreenChange)
57
+ document.addEventListener('mozfullscreenchange', handleFullscreenChange)
58
+ document.addEventListener('MSFullscreenChange', handleFullscreenChange)
59
+ })
60
+
61
+ // 清理监听器
62
+ onUnmounted(() => {
63
+ document.removeEventListener('fullscreenchange', handleFullscreenChange)
64
+ document.removeEventListener('webkitfullscreenchange', handleFullscreenChange)
65
+ document.removeEventListener('mozfullscreenchange', handleFullscreenChange)
66
+ document.removeEventListener('MSFullscreenChange', handleFullscreenChange)
67
+ })
68
+
69
+ return {
70
+ isFullscreen,
71
+ toggle: toggleFullScreen
72
+ }
73
+ }
@@ -1,254 +1,254 @@
1
- <template>
2
- <el-select ref="select"
3
- v-model="defaultValue"
4
- :size="size"
5
- :clearable="clearable"
6
- :multiple="multiple"
7
- :collapse-tags="collapseTags"
8
- :collapse-tags-tooltip="collapseTagsTooltip"
9
- :filterable="filterable"
10
- :placeholder="placeholder"
11
- :disabled="disabled"
12
- :filter-method="filterMethod"
13
- @remove-tag="removeTag"
14
- @visible-change="visibleChange"
15
- @clear="clear">
16
- <template #empty>
17
- <div class="lw-table-select__table"
18
- style="width: 100%;"
19
- v-loading="loading">
20
- <div class="lw-table-select__header">
21
- <slot name="header"
22
- :form="formData"
23
- :submit="formSubmit"></slot>
24
- </div>
25
- <el-table ref="table"
26
- :data="tableData"
27
- :max-height="245"
28
- :highlight-current-row="!multiple"
29
- @row-click="click"
30
- @select="select"
31
- @select-all="selectAll">
32
- <el-table-column v-if="multiple"
33
- type="selection"
34
- width="45"></el-table-column>
35
- <el-table-column v-else
36
- type="index"
37
- width="45">
38
- <template
39
- #default="scope"><span>{{scope.$index+(currentPage - 1) * pageSize + 1}}</span></template>
40
- </el-table-column>
41
- <slot></slot>
42
- </el-table>
43
- <div class="lw-table-select__page">
44
- <el-pagination small
45
- background
46
- layout="prev, pager, next"
47
- :total="total"
48
- :page-size="pageSize"
49
- v-model:currentPage="currentPage"
50
- @current-change="reload"></el-pagination>
51
- </div>
52
- </div>
53
- </template>
54
- </el-select>
55
- </template>
56
-
57
- <script>
58
- import config from "./tableSelect";
59
-
60
- export default {
61
- props: {
62
- modelValue: null,
63
- apiObj: { type: Object, default: () => { } },
64
- params: { type: Object, default: () => { } },
65
- placeholder: { type: String, default: "请选择" },
66
- size: { type: String, default: "default" },
67
- clearable: { type: Boolean, default: false },
68
- multiple: { type: Boolean, default: false },
69
- filterable: { type: Boolean, default: false },
70
- collapseTags: { type: Boolean, default: false },
71
- collapseTagsTooltip: { type: Boolean, default: false },
72
- disabled: { type: Boolean, default: false },
73
- tableWidth: { type: Number, default: 400 },
74
- mode: { type: String, default: "popover" },
75
-
76
- // 定义什么参数就返回什么 value label 为 必须字段
77
- props: { type: Object, default: () => { } }
78
- },
79
- data() {
80
- return {
81
- loading: false,
82
- keyword: null,
83
- defaultValue: [],
84
- tableData: [],
85
- pageSize: config.pageSize,
86
- total: 0,
87
- currentPage: 1,
88
- defaultProps: {
89
- label: config.props.label,
90
- value: config.props.value,
91
- page: config.request.page,
92
- pageSize: config.request.pageSize,
93
- keyword: config.request.keyword
94
- },
95
- formData: {}
96
- }
97
- },
98
- computed: {
99
-
100
- },
101
- watch: {
102
- modelValue: {
103
- handler() {
104
- this.defaultValue = this.modelValue
105
- },
106
- deep: true
107
- }
108
- },
109
- mounted() {
110
- this.defaultProps = Object.assign(this.defaultProps, this.props);
111
- this.defaultValue = this.modelValue
112
- },
113
- methods: {
114
- //表格显示隐藏回调
115
- visibleChange(visible) {
116
- if (visible) {
117
- this.currentPage = 1
118
- this.keyword = null
119
- this.formData = {}
120
- this.getData()
121
- }
122
- },
123
- //获取表格数据
124
- async getData() {
125
- this.loading = true;
126
- var reqData = {
127
- [this.defaultProps.page]: this.currentPage - 1,
128
- [this.defaultProps.pageSize]: this.pageSize,
129
- [this.defaultProps.keyword]: this.keyword
130
- }
131
- Object.assign(reqData, this.params, this.formData)
132
- var res = await this.apiObj(reqData);
133
- var parseData = config.parseData(res)
134
- this.tableData = parseData.rows;
135
- this.total = parseData.total;
136
- this.loading = false;
137
- //表格默认赋值
138
- this.$nextTick(() => {
139
- if (this.multiple) {
140
- this.defaultValue.forEach(row => {
141
- var setrow = this.tableData.filter(item => item[this.defaultProps.value] === row['value'])
142
- if (setrow.length > 0) {
143
- this.$refs.table.toggleRowSelection(setrow[0], true);
144
- }
145
- })
146
- } else {
147
- var setrow = this.tableData.filter(item => item[this.defaultProps.value] === this.defaultValue['value'])
148
- this.$refs.table.setCurrentRow(setrow[0]);
149
- }
150
- this.$refs.table.setScrollTop(0)
151
- })
152
- },
153
- //插糟表单提交
154
- formSubmit() {
155
- this.currentPage = 1
156
- this.keyword = null
157
- this.getData()
158
- },
159
- //分页刷新表格
160
- reload() {
161
- this.getData()
162
- },
163
- // 处理选中值
164
- getCurVlaue(row) {
165
- const filteredRow = {};
166
- // 遍历 this.defaultProps 中定义的字段并保留对应的值
167
- Object.entries(this.defaultProps).forEach(([key, propKey]) => {
168
-
169
- if (row[propKey]) {
170
- filteredRow[key] = row[propKey]
171
- }
172
-
173
- });
174
- return filteredRow
175
- },
176
- //表格勾选事件
177
- select(rows, row) {
178
- var isSelect = rows.length && rows.indexOf(row) !== -1
179
- if (isSelect) {
180
- this.defaultValue.push(this.getCurVlaue(row))
181
- } else {
182
- this.defaultValue.splice(this.defaultValue.findIndex(item => item['value'] == row[this.defaultProps.value]), 1)
183
- }
184
-
185
- },
186
- //表格全选事件
187
- selectAll(rows) {
188
- var isAllSelect = rows.length > 0
189
- if (isAllSelect) {
190
- rows.forEach(row => {
191
- var isHas = this.defaultValue.find(item => item['value'] == row[this.defaultProps.value])
192
- if (!isHas) {
193
- this.defaultValue.push(this.getCurVlaue(row))
194
- }
195
-
196
- })
197
- } else {
198
- this.defaultValue = []
199
- }
200
- this.$emit('update:modelValue', this.defaultValue);
201
- this.$emit('change', this.defaultValue);
202
- },
203
- click(row) {
204
- if (this.multiple) {
205
- //处理多选点击行
206
- } else {
207
- this.defaultValue = this.getCurVlaue(row)
208
- this.$refs.select.blur()
209
- this.$emit('update:modelValue', this.defaultValue);
210
- this.$emit('change', this.defaultValue);
211
- }
212
- },
213
- //tags删除后回调
214
- removeTag(tag) {
215
- var row = this.findRowByKey(tag[this.defaultProps.value])
216
- this.$refs.table.toggleRowSelection(row, false);
217
- this.$emit('update:modelValue', this.defaultValue);
218
- },
219
- //清空后的回调
220
- clear() {
221
- this.$emit('update:modelValue', this.defaultValue);
222
- },
223
- // 关键值查询表格数据行
224
- findRowByKey(value) {
225
- return this.tableData.find(item => item[this.defaultProps.value] === value)
226
- },
227
- filterMethod(keyword) {
228
- if (!keyword) {
229
- this.keyword = null;
230
- return false;
231
- }
232
- this.keyword = keyword;
233
- this.getData()
234
- },
235
- // 触发select隐藏
236
- blur() {
237
- this.$refs.select.blur();
238
- },
239
- // 触发select显示
240
- focus() {
241
- this.$refs.select.focus();
242
- }
243
- }
244
- }
245
- </script>
246
-
247
- <style scoped>
248
- .lw-table-select__table {
249
- padding: 12px;
250
- }
251
- .lw-table-select__page {
252
- padding-top: 12px;
253
- }
254
- </style>
1
+ <template>
2
+ <el-select ref="select"
3
+ v-model="defaultValue"
4
+ :size="size"
5
+ :clearable="clearable"
6
+ :multiple="multiple"
7
+ :collapse-tags="collapseTags"
8
+ :collapse-tags-tooltip="collapseTagsTooltip"
9
+ :filterable="filterable"
10
+ :placeholder="placeholder"
11
+ :disabled="disabled"
12
+ :filter-method="filterMethod"
13
+ @remove-tag="removeTag"
14
+ @visible-change="visibleChange"
15
+ @clear="clear">
16
+ <template #empty>
17
+ <div class="lw-table-select__table"
18
+ style="width: 100%;"
19
+ v-loading="loading">
20
+ <div class="lw-table-select__header">
21
+ <slot name="header"
22
+ :form="formData"
23
+ :submit="formSubmit"></slot>
24
+ </div>
25
+ <el-table ref="table"
26
+ :data="tableData"
27
+ :max-height="245"
28
+ :highlight-current-row="!multiple"
29
+ @row-click="click"
30
+ @select="select"
31
+ @select-all="selectAll">
32
+ <el-table-column v-if="multiple"
33
+ type="selection"
34
+ width="45"></el-table-column>
35
+ <el-table-column v-else
36
+ type="index"
37
+ width="45">
38
+ <template
39
+ #default="scope"><span>{{scope.$index+(currentPage - 1) * pageSize + 1}}</span></template>
40
+ </el-table-column>
41
+ <slot></slot>
42
+ </el-table>
43
+ <div class="lw-table-select__page">
44
+ <el-pagination small
45
+ background
46
+ layout="prev, pager, next"
47
+ :total="total"
48
+ :page-size="pageSize"
49
+ v-model:currentPage="currentPage"
50
+ @current-change="reload"></el-pagination>
51
+ </div>
52
+ </div>
53
+ </template>
54
+ </el-select>
55
+ </template>
56
+
57
+ <script>
58
+ import config from "./tableSelect";
59
+
60
+ export default {
61
+ props: {
62
+ modelValue: null,
63
+ apiObj: { type: Object, default: () => { } },
64
+ params: { type: Object, default: () => { } },
65
+ placeholder: { type: String, default: "请选择" },
66
+ size: { type: String, default: "default" },
67
+ clearable: { type: Boolean, default: false },
68
+ multiple: { type: Boolean, default: false },
69
+ filterable: { type: Boolean, default: false },
70
+ collapseTags: { type: Boolean, default: false },
71
+ collapseTagsTooltip: { type: Boolean, default: false },
72
+ disabled: { type: Boolean, default: false },
73
+ tableWidth: { type: Number, default: 400 },
74
+ mode: { type: String, default: "popover" },
75
+
76
+ // 定义什么参数就返回什么 value label 为 必须字段
77
+ props: { type: Object, default: () => { } }
78
+ },
79
+ data() {
80
+ return {
81
+ loading: false,
82
+ keyword: null,
83
+ defaultValue: [],
84
+ tableData: [],
85
+ pageSize: config.pageSize,
86
+ total: 0,
87
+ currentPage: 1,
88
+ defaultProps: {
89
+ label: config.props.label,
90
+ value: config.props.value,
91
+ page: config.request.page,
92
+ pageSize: config.request.pageSize,
93
+ keyword: config.request.keyword
94
+ },
95
+ formData: {}
96
+ }
97
+ },
98
+ computed: {
99
+
100
+ },
101
+ watch: {
102
+ modelValue: {
103
+ handler() {
104
+ this.defaultValue = this.modelValue
105
+ },
106
+ deep: true
107
+ }
108
+ },
109
+ mounted() {
110
+ this.defaultProps = Object.assign(this.defaultProps, this.props);
111
+ this.defaultValue = this.modelValue
112
+ },
113
+ methods: {
114
+ //表格显示隐藏回调
115
+ visibleChange(visible) {
116
+ if (visible) {
117
+ this.currentPage = 1
118
+ this.keyword = null
119
+ this.formData = {}
120
+ this.getData()
121
+ }
122
+ },
123
+ //获取表格数据
124
+ async getData() {
125
+ this.loading = true;
126
+ var reqData = {
127
+ [this.defaultProps.page]: this.currentPage - 1,
128
+ [this.defaultProps.pageSize]: this.pageSize,
129
+ [this.defaultProps.keyword]: this.keyword
130
+ }
131
+ Object.assign(reqData, this.params, this.formData)
132
+ var res = await this.apiObj(reqData);
133
+ var parseData = config.parseData(res)
134
+ this.tableData = parseData.rows;
135
+ this.total = parseData.total;
136
+ this.loading = false;
137
+ //表格默认赋值
138
+ this.$nextTick(() => {
139
+ if (this.multiple) {
140
+ this.defaultValue.forEach(row => {
141
+ var setrow = this.tableData.filter(item => item[this.defaultProps.value] === row['value'])
142
+ if (setrow.length > 0) {
143
+ this.$refs.table.toggleRowSelection(setrow[0], true);
144
+ }
145
+ })
146
+ } else {
147
+ var setrow = this.tableData.filter(item => item[this.defaultProps.value] === this.defaultValue['value'])
148
+ this.$refs.table.setCurrentRow(setrow[0]);
149
+ }
150
+ this.$refs.table.setScrollTop(0)
151
+ })
152
+ },
153
+ //插糟表单提交
154
+ formSubmit() {
155
+ this.currentPage = 1
156
+ this.keyword = null
157
+ this.getData()
158
+ },
159
+ //分页刷新表格
160
+ reload() {
161
+ this.getData()
162
+ },
163
+ // 处理选中值
164
+ getCurVlaue(row) {
165
+ const filteredRow = {};
166
+ // 遍历 this.defaultProps 中定义的字段并保留对应的值
167
+ Object.entries(this.defaultProps).forEach(([key, propKey]) => {
168
+
169
+ if (row[propKey]) {
170
+ filteredRow[key] = row[propKey]
171
+ }
172
+
173
+ });
174
+ return filteredRow
175
+ },
176
+ //表格勾选事件
177
+ select(rows, row) {
178
+ var isSelect = rows.length && rows.indexOf(row) !== -1
179
+ if (isSelect) {
180
+ this.defaultValue.push(this.getCurVlaue(row))
181
+ } else {
182
+ this.defaultValue.splice(this.defaultValue.findIndex(item => item['value'] == row[this.defaultProps.value]), 1)
183
+ }
184
+
185
+ },
186
+ //表格全选事件
187
+ selectAll(rows) {
188
+ var isAllSelect = rows.length > 0
189
+ if (isAllSelect) {
190
+ rows.forEach(row => {
191
+ var isHas = this.defaultValue.find(item => item['value'] == row[this.defaultProps.value])
192
+ if (!isHas) {
193
+ this.defaultValue.push(this.getCurVlaue(row))
194
+ }
195
+
196
+ })
197
+ } else {
198
+ this.defaultValue = []
199
+ }
200
+ this.$emit('update:modelValue', this.defaultValue);
201
+ this.$emit('change', this.defaultValue);
202
+ },
203
+ click(row) {
204
+ if (this.multiple) {
205
+ //处理多选点击行
206
+ } else {
207
+ this.defaultValue = this.getCurVlaue(row)
208
+ this.$refs.select.blur()
209
+ this.$emit('update:modelValue', this.defaultValue);
210
+ this.$emit('change', this.defaultValue);
211
+ }
212
+ },
213
+ //tags删除后回调
214
+ removeTag(tag) {
215
+ var row = this.findRowByKey(tag[this.defaultProps.value])
216
+ this.$refs.table.toggleRowSelection(row, false);
217
+ this.$emit('update:modelValue', this.defaultValue);
218
+ },
219
+ //清空后的回调
220
+ clear() {
221
+ this.$emit('update:modelValue', this.defaultValue);
222
+ },
223
+ // 关键值查询表格数据行
224
+ findRowByKey(value) {
225
+ return this.tableData.find(item => item[this.defaultProps.value] === value)
226
+ },
227
+ filterMethod(keyword) {
228
+ if (!keyword) {
229
+ this.keyword = null;
230
+ return false;
231
+ }
232
+ this.keyword = keyword;
233
+ this.getData()
234
+ },
235
+ // 触发select隐藏
236
+ blur() {
237
+ this.$refs.select.blur();
238
+ },
239
+ // 触发select显示
240
+ focus() {
241
+ this.$refs.select.focus();
242
+ }
243
+ }
244
+ }
245
+ </script>
246
+
247
+ <style scoped>
248
+ .lw-table-select__table {
249
+ padding: 12px;
250
+ }
251
+ .lw-table-select__page {
252
+ padding-top: 12px;
253
+ }
254
+ </style>