MultiList / MultiDropdownList не показывает или выдает ошибки в React - PullRequest
0 голосов
/ 26 июня 2018

Я изо всех сил пытался заставить работать некоторые опции граненого поиска в ReactiveSearch / ReactiveBase.

При попытке заставить работать MultiList или MultiDropdownList, ничего не показывает, где это должно быть, и в Dev Tools вообще нет сообщений об ошибках.

Секция SingleRange работает отлично, но я не могу заставить работать какие-либо текстовые функции MultiList.

Вот весь мой раздел 'render', на всякий случай есть кое-что простое, что я пропустил:

render() {
    return (
        <ReactiveBase
            app="properties"
            url="http://<el-server-ip>:9200">
            <CategorySearch
                    componentId="searchbox"
                    dataField={["PropertyType","County"]}
                    categoryField="Country"
                    autoSuggest={true}
                    fuzziness={0}
                    queryFormat="and"
                    placeholder="Search for properties"
            />
            <SingleRange
                    componentId="ratingsfilter"
                    title="Filter by ratings"
                    dataField="Price_Unformatted"
                    data={[
                        {"start": 0, "end": 500000, "label": "0 - 500k"},
                        {"start": 500000, "end": 1000000, "label": "500k - 1m"},
                        {"start": 1000000, "end": 10000000, "label": "1m - 10m"},
                        {"start": 0, "end": 1000000000000, "label": "10m+"},
                    ]}
                />
            <MultiList
              componentId="TypeSensor"
              dataField="PropertyType.raw"
              title="Type"
            />
                <ResultCard
                    componentId="result"
                    title="Results"
                    dataField="PropertyType"
                    from={0}
                    size={15}
                    pagination={true}
                    react={{
                        and: ["searchbox", "ratingsfilter","TypeSensor"]
                    }}
                    onData={(res) => {
                        return {
                            image: res.PicNumber,
                            title: res.PropertyType,
                            description: res.Description_EN.substr(0,100)
                        }
                    }}
            />
        </ReactiveBase>
    );
}

И чтобы дать вам представление о типе данных, с которыми я работаю, на всякий случай существует несоответствие типов, вызывающее ошибку:

"_source": {
                "objectID": 211956,
                "Continent": "Europe",
                "Country": "France",
                "County": "Aude ",
                "Location": "Carcassonne",
                "Area": null,
                "Price": "EUR 890,000",
                "Price_Unformatted": 890000,
                "PropertyType": "Chateau",
                "Bedrooms": 9,
                "Bathrooms": 6,
                "PicNumber": "file.jpg",
                "Description_EN": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat...",
                "Currency": "EUR",
            }

Есть ли какой-либо способ получить какое-либо сообщение о выходе / ошибке из React или ReactiveSearch в этом случае, чтобы я мог точно увидеть, в чем проблема?

Ранее я видел ошибки, хотя в основном это были синтаксис.

1 Ответ

0 голосов
/ 29 июня 2018

A MultiList должен выполнить агрегации на предоставленной dataField. Из отображений следует использовать тип keyword, чтобы на нем можно было выполнить агрегирование. Так что, если вы обновите мультиполе до .keyword вместо .raw, здесь должно работать:

<MultiList
  componentId="TypeSensor"
  dataField="PropertyType.keyword"
  title="Type"
/>
...