<div class="error" v-if="$v.forms.additional.$dirty && $v.forms.additional.$invalid">additional: this.visible ? { required } : {},
Object.values(arr.reduce((acc, { a, b }) => (
(acc[a] ??= { a, items: [] }).items.push(b),
acc
), {}))
// или
Array.from(arr.reduce((acc, { a, b }) => (
acc.set(a, acc.get(a) ?? []).get(a).push(b),
acc
), new Map), ([ a, items ]) => ({ a, items }))
document.addEventListener('click', ((val, e) => {
console.log(val);
}).bind(null, isOpenInputForSearch));
toggle не срабатывает при клике на элемент. Не присваивает классы и не убирает.
Клик происходит по label
data() {
return {
selectedValue: this.initialValue,
};
},set(val) {
this.$emit('input', val);
},
$key = 'shipping_address';
$_arr1 = array_combine(array_column($arr1, $key), $arr1);
$result = [
...array_map(fn($n) => $n + ($_arr1[$n[$key]] ?? []), $arr2),
...array_diff_key($_arr1, array_combine(array_column($arr2, $key), $arr2))
];
const result = [...arr]
.sort((a, b) => a.length - b.length)
.reduce((acc, n) => (
acc.some(m => n.includes(m)) || acc.push(n),
acc
), []);const result = arr.filter((n, i, a) => !a.some((m, j) => i !== j && n.includes(m)));
forcePage={currentPage}).
const className = 'doc';.const wrapFirstWord = el =>
el.innerHTML = el.innerText.replace(/\S+/, '<span>$&</span>');
// или
const wrapFirstWord = el =>
el.innerHTML = el.innerHTML
.split(' ')
.map((n, i) => i ? n : `<span>${n}</span>`)
.join(' ');
// или
function wrapFirstWord(el) {
const i = el.textContent.indexOf(' ');
const span = document.createElement('span');
span.append(el.textContent.slice(0, i));
el.replaceChildren(span, el.textContent.slice(i));
}
// или
function wrapFirstWord({ childNodes: [ text ] }) {
const [ , first, rest ] = text.nodeValue.match(/(\S+)(.*)/);
const span = document.createElement('span');
span.appendChild(new Text(first));
text.nodeValue = rest;
text.parentNode.insertBefore(span, text);
}document.querySelectorAll(`.${className}`).forEach(wrapFirstWord);
// или
for (const n of document.getElementsByClassName(className)) {
wrapFirstWord(n);
}
$arr = [ '...', '...', ... ];
$newStr = preg_replace('~'.implode('|', $arr).'~ui', '', $str);
mounted() { console.log(this.props)
onClick : () => { console.log(this.props);
if(num=>5&&num<=10){=> - никакой это не оператор сравнения.true.
<transition-group name="slide" tag="div" class="table-body">
<div class="table-tr" v-for="item in items" :key="item.id">
<div class="table-td">{{ item.id }}</div>
<div class="table-td">{{ item.user }}</div>
</div>
</transition-group>.table-tr {
transition: 0.5s;
}
.table-body {
overflow: hidden;
}
.slide-enter-from {
transform: translateY(-100%);
}
.slide-enter-to {
transform: translateY(0);
}
const handlers = new Map();
function updateHandler(el, binding) {
el.removeEventListener('input', handlers.get(el));
const handler = () => {
const value = el.value.replace(/\D/g, '').slice(0, binding.value);
if (value !== el.value) {
el.value = value;
el.dispatchEvent(new Event('input'));
}
};
handler();
handlers.set(el, handler);
el.addEventListener('input', handler);
}
Vue.directive('maxlen', {
bind: updateHandler,
update: updateHandler,
unbind(el) {
el.removeEventListener('input', handlers.get(el));
handlers.delete(el);
},
});<input type="number" v-maxlen="2">