42 lines
1.4 KiB
Vue
42 lines
1.4 KiB
Vue
<template>
|
|
<variable-list v-model="selected" type="single" :vars="vars" :filter="filter" @update:modelValue="handleSelect" />
|
|
</template>
|
|
<script lang="ts">
|
|
import { ref } from 'vue';
|
|
import VariableList from '../VariableList.vue';
|
|
import { useFlowEditorStore } from 'src/stores/flowEditor';
|
|
import { IActionVariable } from 'src/types/ActionTypes';
|
|
export default {
|
|
name: 'VariableAdd',
|
|
components: {
|
|
VariableList,
|
|
},
|
|
props: {
|
|
appId: Number,
|
|
filter: String
|
|
},
|
|
setup(props, { emit }) {
|
|
const store = useFlowEditorStore();
|
|
let vars: IActionVariable[] = [];
|
|
console.log(store.currentFlow !== undefined && store.activeNode !== undefined);
|
|
|
|
if (store.currentFlow !== undefined && store.activeNode !== undefined) {
|
|
vars = store.currentFlow.getVarNames(store.activeNode);
|
|
}
|
|
return {
|
|
vars,
|
|
selected: ref([]),
|
|
handleSelect: (newSelection: any[]) => {
|
|
if (newSelection.length > 0) {
|
|
const v = newSelection[0];
|
|
let name = v.name
|
|
if (typeof name === 'object') {
|
|
name = name.name
|
|
}
|
|
emit('select', { _t: `var(${name})`, ...v }); // 假设您只需要选择的第一个字段的名称
|
|
}
|
|
}
|
|
}
|
|
},
|
|
}
|
|
</script> |