|
@@ -299,6 +299,8 @@
|
|
|
placeholder="输入/参数"
|
|
|
@before-adding-tag="beforeAddingTag"
|
|
|
@keyup.native="btKeyUp"
|
|
|
+ @tag-clicked="handleDataTagClick($event, index, 'tagWhenLeft')"
|
|
|
+ :ref="`dataTag_${index}_tagWhenLeft`"
|
|
|
|
|
|
/>
|
|
|
</div>
|
|
@@ -329,6 +331,8 @@
|
|
|
placeholder="输入/参数"
|
|
|
@before-adding-tag="beforeAddingTag"
|
|
|
@keyup.native="btKeyUp"
|
|
|
+ @tag-clicked="handleDataTagClick($event, index, 'tagWhenRight')"
|
|
|
+ :ref="`dataTag_${index}_tagWhenRight`"
|
|
|
/>
|
|
|
</div>
|
|
|
|
|
@@ -341,6 +345,8 @@
|
|
|
placeholder="输入/参数"
|
|
|
@before-adding-tag="beforeAddingTag"
|
|
|
@keyup.native="btKeyUp"
|
|
|
+ @tag-clicked="handleDataTagClick($event, index, 'tagThenLeft')"
|
|
|
+ :ref="`dataTag_${index}_tagThenLeft`"
|
|
|
/>
|
|
|
<span class="mg-r-10 mg-l-10">=</span>
|
|
|
<div class="mg-r-10">
|
|
@@ -352,6 +358,8 @@
|
|
|
placeholder="输入/参数"
|
|
|
@before-adding-tag="beforeAddingTag"
|
|
|
@keyup.native="btKeyUp"
|
|
|
+ @tag-clicked="handleDataTagClick($event, index, 'tagThenRight')"
|
|
|
+ :ref="`dataTag_${index}_tagThenRight`"
|
|
|
/>
|
|
|
</div>
|
|
|
<i class="el-icon-circle-plus-outline mg-l-20" style="color: #409EFF;cursor: pointer;" @click="addDataItem(index)"></i>
|
|
@@ -371,6 +379,8 @@
|
|
|
@before-adding-tag="beforeAddingTag"
|
|
|
@keyup.native="btKeyUp"
|
|
|
class="mg-r-10"
|
|
|
+ @tag-clicked="handleElseTagClick($event, 'left')"
|
|
|
+ ref="elseTagLeft"
|
|
|
/>
|
|
|
<span class="mg-r-10">=</span>
|
|
|
<vue-tags-input
|
|
@@ -381,6 +391,8 @@
|
|
|
placeholder="请选择/输入参数"
|
|
|
@before-adding-tag="beforeAddingTag"
|
|
|
@keyup.native="btKeyUp"
|
|
|
+ @tag-clicked="handleElseTagClick($event, 'left')"
|
|
|
+ ref="elseTagLeft"
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1934,6 +1946,38 @@ export default {
|
|
|
// 向父组件传递点击的标签信息
|
|
|
this.$emit('clickTag', tag);
|
|
|
},
|
|
|
+ // 处理数据获取部分(循环项)的标签点击
|
|
|
+ handleDataTagClick(info, index, field) {
|
|
|
+ const { tag } = info;
|
|
|
+ // 1. 设置当前焦点
|
|
|
+ this.setDataFocus(index, field);
|
|
|
+ // 2. 聚焦到当前输入框
|
|
|
+ const refName = `dataTag_${index}_${field}`;
|
|
|
+ const tagInput = this.$refs[refName];
|
|
|
+ if (tagInput) {
|
|
|
+ const instance = Array.isArray(tagInput) ? tagInput[0] : tagInput;
|
|
|
+ if (instance && typeof instance.focus === 'function') {
|
|
|
+ instance.focus();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 3. 向父组件传递选中的tag
|
|
|
+ this.$emit('clickTag', tag);
|
|
|
+ },
|
|
|
+
|
|
|
+ // 处理“否则”部分的标签点击
|
|
|
+ handleElseTagClick(info, position) {
|
|
|
+ const { tag } = info;
|
|
|
+ // 1. 设置当前焦点
|
|
|
+ this.setElseFocus(position);
|
|
|
+ // 2. 聚焦到当前输入框
|
|
|
+ const refName = `elseTag${position.charAt(0).toUpperCase() + position.slice(1)}`;
|
|
|
+ const instance = this.$refs[refName];
|
|
|
+ if (instance && typeof instance.focus === 'function') {
|
|
|
+ instance.focus();
|
|
|
+ }
|
|
|
+ // 3. 向父组件传递选中的tag
|
|
|
+ this.$emit('clickTag', tag);
|
|
|
+ },
|
|
|
|
|
|
}
|
|
|
}
|