メール、電話番号など、連絡先の情報を全文検索する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)
}
)
})
}
ありがとう!