0

私は非常に厄介な問題に直面しておりaccesible-autocomlete、有効な解決策を実際に見つけることができません。私が達成しようとしているのは、ここの例のように、オーバーレイに素敵なオートコンプリートを表示することです: https://alphagov.github.io/accessible-autocomplete/examples/ しかし、私のアプリはまだこのようにオートコンプリートを出力します:ここに画像の説明を入力 私のインポート:

import { h, Component } from 'preact';
import linkState from 'linkstate';
import axios from 'axios';
import Autocomplete from 'accessible-autocomplete/preact';

私のpreactコンポーネントrender()メソッドはこれを返します:

<form onSubmit={e => this.submitHandler(e)}>
    <div class="form-row mt-2">
        <div class="col-6 mb-2">
            <div class="input-group">
                <div class="input-group-prepend">
                    <span class="input-group-text bg-secondary">From</span>
                </div>
                <input type="date" class="form-control" onInput={linkState(this, 'fromDate')} value={state.fromDate} />
                <input type="time" class="form-control" onInput={linkState(this, 'fromTime')} value={state.fromTime} />
            </div>
        </div>
        <div class="col-6 mb-2">
            <div class="input-group">
                <div class="input-group-prepend">
                    <span class="input-group-text bg-secondary">To</span>
                </div>
                <input type="date" class="form-control" onInput={linkState(this, 'toDate')} value={state.toDate} />
                <input type="time" class="form-control" onInput={linkState(this, 'toTime')} value={state.toTime} />
            </div>
        </div>
    </div>
    <div class="form-row mt-2">
        <div class="col-4">
            <div class="form-check">
                <input id="errors-only" type="checkbox" class="form-check-input" onChange={linkState(this, 'errorsOnly')} value={state.errorsOnly} />
                <label for="errors-only" class="form-check-label">Errors only</label>
            </div>
        </div>
        <div class="col-8">
            <div class="input-group">
                <div class="input-group-prepend">
                    <select class="custom-select" onChange={linkState(this, 'supplementalKey')}>
                        <option></option>
                        <option value="acronym">Acronym</option>
                        <option value="document-id">Document number</option>
                        <option value="nip">NIP</option>
                    </select>
                </div>
                <div id="auto-container" role="combobox" aria-expanded="false">
                    <Autocomplete displayMenu='overlay'
                        id='autocomplete'
                        source={this.loadAutocomplete.bind(this)}/>
                </div>
            </div>
        </div>
    </div>
    <div class="form-row">
        <div class="col-12 mb-2">
            <div class="input-group">
                <button type="submit" class="btn btn-secondary">Search</button>
            </div>
        </div>
    </div>
</form>

そして、このようなオートコンプリートコンポーネント呼び出し

<Autocomplete displayMenu='overlay'
    id='autocomplete'
    source={this.loadAutocomplete.bind(this)}/>

私がすでに試したことは、別のオプションを追加することです. 私が試したかったことですが、それをどのように適合させるか正確にはわかりません.コードはドキュメントelement={document.querySelector('#auto-container')}の例のように書かれています. コンポーネントとコンポーネントから完全に外れましたが、役に立ちませんでした。足りないものはありますか?オーバーレイ モードで表示されないのはなぜですか?ここに画像の説明を入力<Autocomplete ... />

4

1 に答える 1