#reactjs #antd #react-dropdown-tree-select
#reactjs #antd #реагировать-выпадающий список-дерево-выбор
Вопрос:
Я заполняю данные 2 уровня, как показано на рисунке из Rest API. У меня есть другой Rest API, который мне нужно вызвать async для заполнения третьего уровня. Например, если кто-то нажимает / разворачивает ‘Russia 1’, мне нужно запустить HTTP Get для загрузки дочерних элементов для ‘Russia 1’.
Я пытаюсь использовать loadData ={this.onLoadData}, но проблема в том, что он вызывается каждый раз, даже когда я расширяю ‘RUSSIA’, т.е. уровень 1. Я хочу, чтобы он был ограничительным, чтобы он вызывался только на втором уровне. Есть ли какой-либо способ, которым я могу это сделать?
Вот пример кода https://codesandbox.io/s/festive-banzai-0zwnl
Комментарии:
1. Можете ли вы опубликовать свой код выполнения?
2. Добавлены снимки кода.
3. Пожалуйста, отправьте код для
TreeSelect
и приведенный выше код, нам также нужно знать, гдеthis.state.value
создается.4. Добавлен пример кода codesandbox
5. Проблема заключается в вашем
onChange
методе. Для начала вам не хватает логики выборки данных.
Ответ №1:
Чао, вы могли бы поставить if на основе value
и определить, какой тип GET вы хотите вызвать. Что-то вроде:
onChange = (value) => {
console.log(value);
if (value === "2") {
console.log("HTTP Get data Russia-1");
} else if (value === "3") {
console.log("HTTP Get data Russia-2");
}
this.setState({ value });
};
Здесь ваш код изменен.