1

メール、電話番号など、連絡先の情報を全文検索するRailsバックエンドがあります。

  class ContactServiceController < ApplicationController
    def search
      query = User.search_for_contacts(params[:query])
      @contacts = query.results
      render :index
    end      
  end

姓名のみの連絡先の配列を返します。

[{first: 'John', last:'doe'}, {first: 'jane', last: 'doe'}]

react-select を使用して、ユーザーが john@doe.com を入力すると、返されたレコードがドロップダウン メニューに表示されることを期待していましたが、そのリストで正しい項目を強調表示できる可能性が低いことは理解していますが、見せるだけでいいのに。出来ますか?

これが私の反応選択コンポーネントです

    <Select.Async
        name="contact-select"
        value={id}
        loadOptions={getOptions || this.getOptions}
        onChange={this.onChange}
        allowCreate={true}
    />

    const prepareContactsData = contacts => 
      map(contacts, (contact) => 
        (
          {
            label: contact.full,
            value: contact.id,
          }
        )
    )


    const getOptions = (query, callback) => {
      if(!query.length){
        return callback(null, [])
      }
      return contactServiceApi
              .search({query})
              .then( data => {
                callback(null, 
                  {
                    options: prepareContactsData(data.contacts)
                  }
                )
              })
    }

ありがとう!

4

0 に答える 0