Есть таблица
<...>
Может быть, можно упростить
const getCheckedValues = elements =>
[...elements].reduce((acc, n) => (
n.checked && (acc[n.name] = acc[n.name] || []).push(n.value),
acc
), {});
const getCheckedValues = elements =>
Array.prototype.reduce.call(
elements,
(acc, { name, value, checked }) => (
acc[name] = acc[name] || [],
checked && acc[name].push(value),
acc
),
{}
);
@mouseenter="showDrop = true"
@mouseleave="showDrop = false"
data: () => ({
showForm: 'auth',
// ...
}),
v-show="showForm === 'auth'"
, @click="showForm = 'reg'"
.v-show="showForm === 'reg'"
, @click="showForm = 'auth'"
. Получается, что объявляем две переменных <...> То есть это равносильно
Если в одном компоненте произойдет ошибка, будет ли это видно в другом?
Если нет, то подскажите, как...
const Vue = require('vue');
const Vue = require('vue').default;
@changeMessage="changeMessage"
директивы прослушивания событийv-on
внутри DOM-шаблонов автоматически преобразуются в нижний регистр (из-за нечувствительности HTML к регистру), поэтомуv-on:myEvent
станетv-on:myevent
— что делает прослушивание событияmyEvent
невозможным
Просто нужно еще чтобы компонент `SortableElement ` принял все пропсы.
const SortableItem = SortableElement((props) => (
<ElementItem {...props} />
));
Что не так делаю?
let uploadTo = null;
$('.file-upload-preview').click(function() {
uploadTo = this;
$('#file-upload').click();
});
$(".file-upload-preview")
на $(uploadTo)
. const inputSelector = '.hidden_field';
const itemSelector = '.item';
const activeClass = 'active';
// как это может выглядеть с использованием jquery
const $items = $(itemSelector).click(function() {
$(this).toggleClass(activeClass);
$(inputSelector).val($items
.filter(`.${activeClass}`)
.get()
.map(n => $(n).text())
.join(', ')
);
});
// или, к чёрту jquery
const items = [...document.querySelectorAll(itemSelector)];
items.forEach(n => n.addEventListener('click', onClick));
function onClick() {
this.classList.toggle(activeClass);
document.querySelector(inputSelector).value = items
.filter(n => n.classList.contains(activeClass))
.map(n => n.innerText)
.join(', ');
}
контент у всех блоков разный - поэтому в массив их не засунуть
v-for
использовать :is
.