Я создал приложение CRUD, используя Vue. js и Flask. Я также использую топор ios. Мое приложение имеет один компонент, который получает данные из базы данных и отображает их в виде таблицы. Базовый путь получает все записи из базы данных по адресу:
localhost:5000/expenses
Я создал две кнопки, которые фильтруют данные с использованием модальных параметров. Первый модал принимает дату начала и дату окончания, а при отправке выполняет запрос get по адресу:
localhost:5000/expense?startDate=2020-04-10&endDate=2020-04-2
Flask, затем запрашивает фильтрацию данных по диапазону дат и возвращает данные в таблицу.
Второй модал позволяет вам выбрать категорию из выпадающего списка и выполняет другой запрос на получение. Тем не менее, этот запрос не сохраняется в предыдущем запросе get и запрашивает только бэкэнд по адресу:
localhost:5000/expense?category=food
Если сброс не выполнен, я бы хотел, чтобы запрос get отфильтровывался по обоим параметрам, т.е. 1014 * Мой запрос на получение - это метод, который может принимать 3 именованных параметра:
getExpenses({
filteredCategory,
filteredStartDate,
filteredEndDate,
} = {}) {
const path = 'http://localhost:5000/expenses';
axios.get(path, {
params: {
category: filteredCategory,
startDate: filteredStartDate,
endDate: filteredEndDate,
},
})
И он вызывается независимо при отправке каждого модального сообщения:
onSubmitCategory(evt) {
evt.preventDefault();
this.$refs.addCategoryModal.hide();
const filteredCat = this.addCategoryForm.category;
this.getExpenses({
filteredCategory: filteredCat,
});
this.initForm();
onSubmitDate(evt) {
evt.preventDefault();
this.$refs.addDateRangeModal.hide();
const filtStartDate = this.addDateRangeForm.startDate;
const filtEndDate = this.addDateRangeForm.endDate;
this.getExpenses({
filteredStartDate: filtStartDate,
filteredEndDate: filtEndDate,
});
this.initForm();
Каков наилучший способ гарантировать, что состояние сохранено и что я могу фильтровать поверх ранее отфильтрованных данных? Кроме того, есть ли способ сохранить состояние при обновлении веб-страницы? В настоящее время он возвращается к базовому пути и запрашивает все данные вместо сохранения последнего запроса. Спасибо!