How do I add an icon to a custom select2-based ProjectPicker?

Hi all!
I created custom ProjectPicker using select2:


I filled it in like this:

createOptionsForProjectList: function (projects, $projectPicker) {
     projects.forEach(function (value) {
          var optionHtml = renderOptionsForList({
               name: value.fullName,

Its work well:


But I want to get the same display as in Jira with icons:


I read the instructions and built a code like this, but it didn’t work:

var state = [
          fullName: "DEV (DEV)",
          iconUrl: "http://localhost:2990/jira/secure/projectavatar?size=xsmall&avatarId=10324",
          id: 10300
          fullName: "Dev2 (DEV2)",
          iconUrl: "http://localhost:2990/jira/secure/projectavatar?size=xsmall&pid=10302&avatarId=10211",
          id: 10302

function format(state) {
     if (! {
          return state.fullName;
     return "<img class='flag' src='" + state.iconUrl + "'/>" + state.fullName;

      formatResult: format(state),
      formatSelection: format(state),
      escapeMarkup: function (m) {
           return m;

I can’t figure out what I’m doing wrong. Unfortunately, I haven’t found another solution. But maybe someone has already solved this problem and can help me?

Also, I didn’t understand - how to put projectId in picker? I need it here to get as value.