xAxes: [{ и yAxes: [{ на x: { и y: {.format: 'DD/MM/YYYY'. Нужное вам свойство называется иначе, замените на parser: 'DD/MM/YYYY'.scaleLabel: { (как и его внутреннее содержимое) - смотрите сами.
methods: {
onCellClick(item) {
console.log(item.digit);
},<td @click="onCellClick(item)">
$grouped = [];
foreach ($arr as $key => $items) {
$group = [
'UF_SUBJECT' => $items[0]['UF_SUBJECT'],
'UF_QUANTITY' => 0,
'UF_BRAK' => 0,
'UF_WAREHOUSENAME' => [],
];
foreach ($items as $item) {
$group['UF_QUANTITY'] += $item['UF_QUANTITY'];
$group['UF_BRAK'] += $item['UF_BRAK'];
$group['UF_WAREHOUSENAME'][] = $item['UF_WAREHOUSENAME']." (".$item['UF_QUANTITY']." шт)";
}
$group['UF_WAREHOUSENAME'] = implode(', ', $group['UF_WAREHOUSENAME']);
$grouped[$key] = $group;
}
сбрасывается на 0 и начинает отсчет с предыдущего состояния
const pick = (obj, keys) => Object.fromEntries(keys.map(k => [ k, obj[k] ]));
const newArr = arr.map(n => pick(n, keys));const pick = (obj, keys) =>
Object.fromEntries(Object.entries(obj).filter(m => keys.includes(m[0])));
// или
const pick = (obj, keys) =>
keys.reduce((acc, n) => (obj.hasOwnProperty(n) && (acc[n] = obj[n]), acc), {});
a, показывать пытаетесь img.document.querySelectorAll('.photos img').forEach(n => {
n.parentNode.style.display = +n.alt === alt ? '' : 'none';
});
per_pageinteger
The number of results per page (max 100).
Default:30
function getTimes(start, end, interval) {
const [ s, e ] = [ start, end ].map(n => moment(n, 'HH:mm'));
const result = [];
if (s > e) {
e.add(1, 'day');
}
for (; s <= e; s.add(interval, 'minutes')) {
result.push(s.format('HH:mm'));
}
return result;
}function getTimes(start, end, interval) {
const [ s, e ] = [ start, end ].map(n => new Date(`2000-01-01 ${n}`));
const result = [];
if (s > e) {
e.setDate(e.getDate() + 1);
}
for (; s <= e; s.setMinutes(s.getMinutes() + interval)) {
result.push(s.toTimeString().split(':', 2).join(':'));
// или
result.push(s.toLocaleTimeString('ru', {
hour: '2-digit',
minute: '2-digit',
}));
}
return result;
}const times = getTimes('10:00', '18:00', 30);.
interface IFormData {
firstName: string;
lastName: string;
}const [ formData, setFormData ] = React.useState<IFormData>({
firstName: '',
lastName: '',
});
const onChange = (e: React.ChangeEvent<HTMLInputElement>) => setFormData({
...formData,
[e.target.name]: e.target.value,
});<CustomTextField name="firstName" value={formData.firstName} onChange={onChange} />
<CustomTextField name="lastName" value={formData.lastName} onChange={onChange} />
<!-- или -->
{Object.entries(formData).map(([ k, v ]) => (
<CustomTextField key={k} name={k} value={v} onChange={onChange} />
))}
async function fetchRepos(username) {
let result = [];
try {
result = (await axios.get(`https://api.github.com/users/${username}/repos`)).data;
} catch(e) {
console.error(e);
}
setRepos(result);
}<Search onSearch={fetchRepos} />function Search({ onSearch }) {
const [ searchValue, setSearchValue ] = useState('');
function onSubmit(e) {
e.preventDefault();
onSearch(searchValue);
}
return (
<form onSubmit={onSubmit}>
<input
type="text"
value={searchValue}
onChange={e => setSearchValue(e.target.value)}
/>
<button>Найти</button>
</form>
)
}
const valueAndClass = [
[ 'yes', 'bg-success' ],
[ 'no', 'bg-warning' ],
];document.querySelector('table').addEventListener('change', e => {
for (const td of e.target.closest('tr').cells) {
for (const [ value, className ] of valueAndClass) {
td.classList.toggle(className, value === e.target.value);
}
}
});bg-primary у ячеек, добавьте его строкам, а обработчик события change пусть будет таким, например:document.querySelector('table').addEventListener('change', ({ target: t }) => {
const tr = t.closest('tr');
valueAndClass.forEach(n => tr.classList.toggle(n[1], n[0] === t.value));
});
const $container = $('.promo__cats');
$container.append(...$container
.children()
.get()
.map(n => [ n, +$('.promo__price', n).text().replace(/\D/g, '') ])
.sort((a, b) => a[1] - b[1])
.map(n => n[0])
);
cells.push(xCells); buffCells.push(xCells);
cells = buffCells;[ cells, buffCells ] = [ buffCells, cells ];.- buffCells.push(xCells);
+ buffCells.push(xCells.map(n => ({...n})));
class App extends React.Component {
state = {
colors: [ 'раз цвет', 'два цвет', 'три цвет', 'ещё какой-то цвет', 'и ещё' ],
selectedColor: '',
}
onChange = e => {
this.setState({
selectedColor: e.target.value,
});
}
render() {
const { colors, selectedColor } = this.state;
return (
<div>
<select value={selectedColor} onChange={this.onChange}>
<option disabled hidden value="">SELECT COLOR</option>
{colors.map(n => <option>{n}</option>)}
</select>
{selectedColor &&
<p style={{ color: selectedColor }}>
{selectedColor} color selected
</p>
}
</div>
);
}
}
onChange={(event) => { return test(event, id); }}
id? Откуда он берётся? Уж точно не из input'a - этот будет event.target.id.onChange={() => { return handlerOnChange; }}
handlerOnChange? И зачем постоянно делаете return, что и кому пытаетесь вернуть?id достаёте из target, и не надо никаких дополнительных обёрток над обработчиками событий при их назначении экземплярам TextField:const onChange = e => {
const { id } = e.target;
...<TextField
onChange={onChange}
...
class App extends React.Component {
state = {
links: [],
newLink: {
href: '',
text: '',
},
}
onChange = ({ target: { name, value } }) => {
this.setState(({ newLink }) => ({
newLink: {
...newLink,
[name]: value,
},
}));
}
addLink = e => {
e.preventDefault();
this.setState(({ links, newLink }) => ({
links: [ ...links, newLink ],
newLink: Object.fromEntries(Object.keys(newLink).map(n => [ n, '' ])),
}));
}
render() {
return (
<div>
<ul>
{this.state.links.map(n => (
<li>
<a href={n.href}>{n.text}</a>
</li>
))}
</ul>
<form onSubmit={this.addLink}>
{Object.entries(this.state.newLink).map(([ name, value ]) => (
<div>
{name}:
<input name={name} value={value} onChange={this.onChange} />
</div>
))}
<input type="submit" value="Добавить" />
</form>
</div>
);
}
}