Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день , может кто нибудь поможет в одном вопросе . На сайте https://inertiajs.com/forms нашел такой пример
import { useState } from 'react'
import { router } from '@inertiajs/react'
export default function Edit() {
const [values, setValues] = useState({
first_name: "",
last_name: "",
email: "",
})
function handleChange(e) {
const key = e.target.id;
const value = e.target.value
setValues(values => ({
...values,
[key]: value,
}))
}
function handleSubmit(e) {
e.preventDefault()
router.post('/users', values)
}
return (
<form onSubmit={handleSubmit}>
<label htmlFor="first_name">First name:</label>
<input id="first_name" value={values.first_name} onChange={handleChange} />
<label htmlFor="last_name">Last name:</label>
<input id="last_name" value={values.last_name} onChange={handleChange} />
<label htmlFor="email">Email:</label>
<input id="email" value={values.email} onChange={handleChange} />
<button type="submit">Submit</button>
</form>
)
}
Он великолепно работает с input , но вот моего ума пока не хватает , чтобы переделать его для использования с select . Вот мой пример .
import {Select} from "flowbite-react";
import {router} from "@inertiajs/react";
import {useState} from "react";
export default function Layout() {
const [values, setValues] = useState({
page: "",
})
function handleChange(e) {
const key = e.target.id;
const value = e.target.value
setValues(values => ({
...values,
[key]: value,
}))
router.get('products', values)
}
return (
<>
<div className="max-w-[6rem]">
<form>
<Select onChange={handleChange}
defaultValue={"20"}
id="per_page">
<option>20</option>
<option>40</option>
<option>60</option>
<option>80</option>
</Select>
</form>
</div>
</>
);
}
Проблема в том , что на сервере константа page всегда Null , а id="per_page" передается с опозданием , т.е передает предыдущее значение . Если кто поможет с доработкой примера , заранее благодарен. Спасибо.
Не в сети
Мне интересно, здесь отвечает кто нибудь?
Или вопрос настолько тупой , что нет ответа .
Переделал пока так , вроде как и работает , Прошу хоть покритиковать.
import {Select} from "flowbite-react";
import {router} from "@inertiajs/react";
export default function PageCount({location}) {
function handleChange(e) {
const key = e.target.id;
const value = e.target.value
const values={[key]: value};
router.get(`${location}`,values);
}
return (
<>
<div className="max-w-[10rem]">
<form>
<Select onChange={handleChange}
id="per_page">
<option>Select per page</option>
<option>20</option>
<option>40</option>
<option>60</option>
<option>80</option>
<option>100</option>
</Select>
</form>
</div>
</>
);
}
Не в сети
Конечно, я здесь и готов помочь! Извините, если вам показалось, что я не отвечаю. Я стараюсь отвечать на все запросы, но иногда могу пропустить что-то или задержаться с ответом.
JPMCB Card Com
Пожалуйста, опишите вашу проблему или вопрос, и я постараюсь вам помочь. Чем подробнее вы опишете ситуацию, тем лучше я смогу понять, что вам нужно.
Если вы уже что-то сделали и хотите, чтобы я это покритиковал, пожалуйста, предоставьте код или описание того, что вы сделали. Я готов рассмотреть ваш код, указать на возможные ошибки или предложить улучшения.
Вот несколько общих советов, которые могут вам помочь:
Опишите проблему как можно подробнее: Чем больше информации вы предоставите, тем легче мне будет понять, что вам нужно.
Приведите примеры: Если возможно, приведите примеры входных и выходных данных.
Укажите, что вы уже пробовали сделать: Это поможет мне понять, в каком направлении вы уже двигались, и избежать повторения тех же советов.
Не стесняйтесь задавать вопросы: Даже если вам кажется, что вопрос глупый, задайте его. Я здесь, чтобы помочь.
Не в сети
Страницы 1