アプリからフィールド選択UI追加

This commit is contained in:
2024-04-25 09:46:34 +09:00
parent 1a48fb5b20
commit 0de33f04bc
6 changed files with 106 additions and 93 deletions

View File

@@ -12,16 +12,16 @@
<template v-slot:hint v-if="!isSelected">
{{ placeholder }}
</template>
<template v-slot:append>
<q-icon name="search" class="cursor-pointer" @click="showDg"/>
<q-icon name="search" class="cursor-pointer" color="primary" @click="showDg"/>
</template>
</q-field>
<show-dialog v-model:visible="show" name="フィールド一覧" @close="closeDg" widht="400px">
<field-select ref="appDg" name="フィールド" type="single" :appId="store.appInfo?.appId"></field-select>
</show-dialog>
</template>
<script lang="ts">
import { defineComponent, ref ,watchEffect,computed} from 'vue';
import ShowDialog from '../ShowDialog.vue';
@@ -60,7 +60,7 @@
default: null
},
},
setup(props, { emit }) {
const appDg = ref();
const show = ref(false);
@@ -69,21 +69,21 @@
const isSelected = computed(()=>{
return selectedField.value!==null && typeof selectedField.value === 'object' && ('name' in selectedField.value)
});
const showDg = () => {
show.value = true;
};
const closeDg = (val:string) => {
if (val == 'OK') {
selectedField.value = appDg.value.selected[0];
}
};
watchEffect(() => {
emit('update:modelValue', selectedField.value);
});
return {
store,
appDg,
@@ -96,4 +96,3 @@
}
});
</script>