('ic' + true) ? 'on' : ('off' + '.svg')
computed: {
className() {
return условие ? 'icon.svg' : 'icoff.svg';
},
...
<p :class="className">
const [ showImage, setShowImage ] = useState(true);
<button onClick={() => setShowImage(!showImage)}>click me</button>
{showImage ? <img src="..." /> : null}
function Counter({ val, time }) {
const [ currVal, setCurrVal ] = useState(0);
useEffect(() => {
currVal !== val && setTimeout(setCurrVal, time, currVal + 1);
}, [ currVal ]);
return <div>{currVal}</div>;
}
id="666"
, а data-val="666",
например.document.querySelectorAll('селектор ваших блоков').forEach(n => {
const val = +n.dataset.val;
n.classList.toggle('disable', min > val || val > max);
});
const event = await ticketFactoryContract.methods.eventsList(i).call();
setEvents(events => [ ...events, event ]);
const BASE_VALUE = 100;
document.querySelector('.container').addEventListener('change', e => {
document.querySelector('.total').innerText = Array
.from(e.currentTarget.querySelectorAll('input:checked'))
.reduce((acc, n) => acc + +n.value, BASE_VALUE);
});
computed: {
stationsWithCars() {
return this.cars.reduce(
(acc, n) => (acc[n.address]?.cars.push(n), acc),
Object.fromEntries(this.stations.map(n => [ n.name, { station: n, cars: [] } ]))
);
},
},
<div v-for="{ station, cars } in stationsWithCars" :key="station.id">
<h1>{{ station.name }}</h1>
<ul>
<li v-for="car in cars" :key="car.id">{{ car.name }}</li>
</ul>
</div>
tableEl
.querySelectorAll('tbody td')
.forEach(td => Array
.from(td.attributes)
.forEach(attr => td.removeAttribute(attr.name))
);
for (const tbody of tableEl.tBodies) {
for (const tr of tbody.rows) {
for (const { attributes: a } of tr.cells) {
for (let i = a.length; i--;) {
a[i].ownerElement.removeAttribute(a[i].name);
}
}
}
}
const toCamelCase = val =>
val instanceof Array
? val.map(toCamelCase)
: val instanceof Object
? Object.fromEntries(Object
.entries(val)
.map(n => [
n[0].replace(/_+(.)/g, (m, g1) => g1.toUpperCase()),
toCamelCase(n[1]),
])
)
: val;
onFrame(e, data) {
if (!data.frame) {
data.reverse = !data.reverse;
}
},