diff --git a/core/frontend/src/components/widget/deWidget/DeSelectGrid.vue b/core/frontend/src/components/widget/deWidget/DeSelectGrid.vue
index 5c0e9188e2..9fdd8ae81d 100644
--- a/core/frontend/src/components/widget/deWidget/DeSelectGrid.vue
+++ b/core/frontend/src/components/widget/deWidget/DeSelectGrid.vue
@@ -12,6 +12,8 @@
:size="size"
prefix-icon="el-icon-search"
clearable
+ @input="filterMethod"
+ @clear="filterMethod"
/>
@@ -31,7 +33,7 @@
v-model="value"
@change="handleCheckedChange"
>
-
+
{
+ if (index === this.changeIndex) {
+ this.initOptions()
+ }
+ this.destroyTimeMachine()
+ }, 1500)
+ },
+ destroyTimeMachine() {
+ this.timeMachine && clearTimeout(this.timeMachine)
+ this.timeMachine = null
+ },
+ filterMethod() {
+ this.destroyTimeMachine()
+ this.changeIndex++
+ this.searchWithKey(this.changeIndex)
+ },
clearDefault(optionList) {
const emptyOption = !optionList?.length
@@ -334,7 +354,7 @@ export default {
}
method({
fieldIds: this.element.options.attrs.fieldId.split(','),
- sort: this.element.options.attrs.sort
+ sort: this.element.options.attrs.sort, keyword: this.keyWord
}).then(res => {
this.data = this.optionData(res.data)
this.changeInputStyle()