flaschengeist-frontend/src/plugins/user/components/UserSelector.vue

40 lines
783 B
Vue
Raw Normal View History

<template>
<q-select
filled
label="Benutzer"
@input="updated"
v-model="user"
:options="users"
option-label="display_name"
option-value="userid"
map-options
/>
</template>
<script lang="ts">
import { computed, defineComponent } from '@vue/composition-api';
import { Store } from 'vuex';
import { StateInterface } from 'src/store';
interface Props {
user: FG.User;
}
export default defineComponent({
name: 'UserSelector',
props: ['user'],
setup(props: Props, { root, emit }) {
const store = <Store<StateInterface>>root.$store;
const users = computed(() => store.state.user.users);
const updated = (value: FG.User) => {
emit('update:user', value);
};
return {
updated,
users
};
}
});
</script>