JSFiddle - React, Tailwind, and code Playground

by gunit

HTML

<!DOCTYPE html>
<html>
<head>
  <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css" rel="stylesheet">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
</head>
<body>
  
<div id="app">
	<v-app>
		<v-form method="post">
	      <v-container>
	        <v-layout wrap>
	          <v-flex xs12>
            {{ friends }}
	            <v-autocomplete
	              v-model="friends"
	              id="friends"
	              :items="people"
	              box
	              chips
	              label="Select"
	              item-text="name"
	              placeholder="#friends - тут должен быть ID"
	              item-value="id"
	              return-object
	            >
	              <template v-slot:selection="data">
	                <v-chip
	                  :selected="data.selected"
	                  close
	                  @input="remove"
	                >
	                  <v-avatar>
	                    <img :src="data.item.avatar">
	                  </v-avatar>
	                  {{ data.item.name }}
	                </v-chip>
                  <input type="hidden" id="friendId" :value="data.item.id" class="input" name="friendId" placeholder="#friendId - костыль">
	              </template>
	              <template v-slot:item="data">
	                <template v-if="typeof data.item !== 'object'">
	                  <v-list-tile-content v-text="data.item"></v-list-tile-content>
	                </template>
	                <template v-else>
	                  <v-list-tile-avatar>
	                    <img :src="data.item.avatar">
	                  </v-list-tile-avatar>
	                  <v-list-tile-content>
	                    <v-list-tile-title v-html="data.item.name"></v-list-tile-title>
	                    <v-list-tile-sub-title...

CSS

.input,
#friends {
  border: 1px solid;
}

JavaScript

const srcs = {
  1: 'https://cdn.vuetifyjs.com/images/lists/1.jpg',
  2: 'https://cdn.vuetifyjs.com/images/lists/2.jpg',
  3: 'https://cdn.vuetifyjs.com/images/lists/3.jpg',
  4: 'https://cdn.vuetifyjs.com/images/lists/4.jpg',
  5: 'https://cdn.vuetifyjs.com/images/lists/5.jpg'
}

const app = new Vue({
  el: '#app',
  data: {
      autoUpdate: true,
      friends: '',
      friendId: '',
      people: [
        { header: 'Group 1' },
        { id: 0, name: 'Sandra Adams', group: 'Group 1', avatar: srcs[1] },
        { id: 1, name: 'Ali Connors', group: 'Group 1', avatar: srcs[2] },
        { id: 2, name: 'Trevor Hansen', group: 'Group 1', avatar: srcs[3] },
        { id: 3, name: 'Tucker Smith', group: 'Group 1', avatar: srcs[2] },
        { divider: true },
        { header: 'Group 2' },
        { id: 4, name: 'Britta Holt', group: 'Group 2', avatar: srcs[4] },
        { id: 5, name: 'Jane Smith ', group: 'Group 2', avatar: srcs[5] },
        { id: 6, name: 'John Smith', group: 'Group 2', avatar: srcs[1] },
        { id: 7, name: 'Sandra Williams', group: 'Group 2', avatar: srcs[3] }
      ],
    },

    methods: {
      remove() {
        this.friends = ''
      }
    }
})