fix: 修复detection模块搜索框添加搜索条件时报错的问题

This commit is contained in:
刘洪洪
2023-05-29 10:15:18 +08:00
parent 2c810e95c2
commit c41a247449

View File

@@ -29,7 +29,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</div> </div>
<span v-show="!meta.column.isEditing" @click="columnClick(meta)">{{meta.column.label}}</span> <span v-show="!meta.column.isEditing" @click="columnClick(meta, index)">{{meta.column.label}}</span>
</div> </div>
<!-- 已选操作符显示 --> <!-- 已选操作符显示 -->
<div class="condition__operator" @click="operatorClick(meta)" v-if="meta.operator.show">{{meta.operator.value}}</div> <div class="condition__operator" @click="operatorClick(meta)" v-if="meta.operator.show">{{meta.operator.value}}</div>
@@ -38,7 +38,7 @@
<div v-if="meta.value.isEditing"> <div v-if="meta.value.isEditing">
<el-input v-model="meta.value.value" size="mini" @blur="valueBlur(meta)" ref="valueInput" @keyup.enter="valueBlur(meta)"></el-input> <el-input v-model="meta.value.value" size="mini" @blur="valueBlur(meta)" ref="valueInput" @keyup.enter="valueBlur(meta)"></el-input>
</div> </div>
<span v-else @click="valueClick(meta)">{{meta.value.label}}</span> <span v-else @click="valueClick(meta, index)">{{meta.value.label}}</span>
</div> </div>
<!-- 操作符选择器 --> <!-- 操作符选择器 -->
<div class="condition__operation-select" v-if="meta.operator.show && meta.operator.isEditing"> <div class="condition__operation-select" v-if="meta.operator.show && meta.operator.isEditing">
@@ -131,7 +131,10 @@ export default {
this.metaList.push(newCondition) this.metaList.push(newCondition)
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.columnSelect.focus() const selectList = this.$refs.columnSelect
if (selectList && selectList.length > 0) {
this.$refs.columnSelect[selectList.length - 1].focus() // 在for循环里生成的dom所以是数组
}
}) })
} }
}, },
@@ -178,10 +181,10 @@ export default {
selectConnection (value, meta) { selectConnection (value, meta) {
meta.isEditing = false meta.isEditing = false
}, },
columnClick (meta) { columnClick (meta, index) {
meta.column.isEditing = true meta.column.isEditing = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.columnSelect.focus() this.$refs.columnSelect[index].focus()
}) })
}, },
columnBlur (meta, index) { columnBlur (meta, index) {
@@ -220,7 +223,10 @@ export default {
} }
} }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.valueInput.focus() const selectList = this.$refs.valueInput
if (selectList && selectList.length > 0) {
this.$refs.valueInput[selectList.length - 1].focus() // 在for循环里生成的dom所以是数组
}
}) })
}, },
operatorClick (meta) { operatorClick (meta) {
@@ -273,10 +279,10 @@ export default {
} }
meta.value.isEditing = !meta.isCompleteCondition() meta.value.isEditing = !meta.isCompleteCondition()
}, },
valueClick (meta) { valueClick (meta, index) {
meta.value.isEditing = true meta.value.isEditing = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.valueInput.focus() this.$refs.valueInput[index].focus()
}) })
}, },
// 判断是否是用户自己添加的内容,用于判断是否是全局搜索 // 判断是否是用户自己添加的内容,用于判断是否是全局搜索
@@ -292,6 +298,7 @@ export default {
} }
}, },
search () { search () {
console.log('???????', this.metaList)
if (this.metaList.length > 0) { if (this.metaList.length > 0) {
const parser = new Parser(this.columnList) const parser = new Parser(this.columnList)
const errorList = parser.validateMeta(this.metaList) const errorList = parser.validateMeta(this.metaList)
@@ -384,6 +391,7 @@ export default {
const vm = this const vm = this
this.emitter.on('advanced-search', function () { this.emitter.on('advanced-search', function () {
vm.search() vm.search()
console.log('打印', this.metaList)
}) })
}, },
watch: { watch: {