I have a vuetify autocomplete that searches a list of all users which I then create a new separate list of speakers from:
<v-autocomplete
v-model="user"
:items="usersData"
label="Search"
:search-input.sync="searchUser"
item-value="id"
item-text="name"
return-object
/>
I am trying to setup a speakerInitials method which should take the first chars from the user's name and surname to display in the avatar:
<v-list-item
v-for="speaker in speakers"
:key="speaker.id"
>
<v-avatar
size="48"
>
<span
class="white--text"
>
{{ speakerInitials() }}
</span>
</v-avatar>
<v-list-item-content>
<v-list-item-title>
<h6>{{ speaker.name }}</h6> ...
I am passing speaker to a method in hope to get the initials but currently I get nothing back + no errors. Is there something I am doing incorrectly here?
data () => ({
user: {},
speaker {},
searchUser: null,
userRole: '',
speakers: []
}),
computed: {
...mapState({
users: state => state.users
}),
usersData () {
return this.users.map(user => {
return {
name: user.name,
uid: user.uid
}
})
}
},
methods: {
speakerInitials (speaker) {
if (!speaker) return
const name = speaker.user.name.split(' ')
return `${name[0].charAt(0)}${name[1] ? name[1].charAt(0) : ''}`
}
}