class Parent extends React.Component {
state = {
count: 0,
}
onClick = () => {
this.setState(({ count }) => ({
count: count + 1,
}));
}
render() {
return (
<div>
<button onClick={this.onClick}>Добавить компонент</button>
{Array.from({ length: this.state.count }, () => <Input />)}
</div>
);
}
}
.click()
на [0].click()
или .get(0).click()
. const $filters = $('.filter').change(function() {
const filters = $filters
.get()
.filter(n => n.value)
.map(n => [ n.dataset.name, n.value ]);
$('.product')
.hide()
.filter((_, el) => filters.every(n => el.dataset[n[0]] === n[1]))
.show();
});
$link = mysqli_connect($host, $user, $pass, $db_name); ... $link = "https://td.com/topic-$zam2";
.modal-wrapper .open {
должно быть .modal-wrapper.open {
. blur
, а не focus
toUpperCase
не у строки, а у массива - забыто [0]
input.addEventListener('blur', function() {
if (this.value) {
this.value = this.value.split(/\s+/).map(n => n[0].toUpperCase() + n.slice(1)).join(' ');
}
});
created() {
accessAPI().then(result => this.api = result);
},
<imgMap :api="api"></imgMap>
<imgMap v-if="api" :api="api"></imgMap>
не могу напрямую вызывать асинхронные методы из обьекта они недоступны. Сейчас я решил проблему так:
props: { api : Object }, data() { return { apiLocal : null } } async mounted() { this.apiLocal = await this. api; await this.apiLocal.methods1(); }
const getPrimitiveProps = (obj) =>
Object.entries(obj).reduce((acc, [ k, v ]) => ({
...acc,
...(v instanceof Object ? getPrimitiveProps(v) : { [k]: v }),
}), {});
const getPrimitiveProps = (obj) =>
Object.assign({}, ...Object.entries(obj).map(([ k, v ]) =>
v instanceof Object ? getPrimitiveProps(v) : { [k]: v }
));
есть модальное окно-увеличение картинки, нажимая на него, маршрут сбивается
<a :id="item.id" v-b-modal="'img-'+item.id" href="#" >
@click.prevent
. $(document).click(function(e) {
if (!$panel.has(e.target).length && $panel.hasClass('visible')) {
hidePanel();
}
});
const ip = str.split(':', 1)[0];
const ip = str.slice(0, str.indexOf(':'));
const ip = str.match(/[\d.]+/).pop();
const ip = str.replace(/:.+$/, '');
const [ ip ] = /.+(?=:)/.exec(str);
animation-delay
, а для "задержки" указываете в keyframes
промежуток без изменения значения:<div class="wrapper">
<div class="block">hello, world!!</div>
<div class="block">fuck the world</div>
<div class="block">fuck everything</div>
</div>
.wrapper {
width: 150px;
height: 20px;
font-size: 16px;
border: 1px solid #000;
overflow: hidden;
position: relative;
}
@keyframes movingTopToBottom {
0% {
top: 55px;
}
40%, 60% {
top: 0px;
}
100% {
top: -55px;
}
}
.block {
animation: movingTopToBottom 6s linear infinite;
position: absolute;
}
.block:nth-child(1) { animation-delay: 0s; }
.block:nth-child(2) { animation-delay: -4s; }
.block:nth-child(3) { animation-delay: -2s; }
@focus="disabled = true"
@blur="disabled = false"
@mousedown="disabled = !disabled"