Я думаю, что люди очень часто хотят использовать другую иконку или элемент, чтобы открыть собственное поле datepicker.
Я выяснил, что решение javascript с функцией «click () & amp ;.focus ()» работает только в webkit и некоторых других браузерах на рабочем столе, но, к сожалению, не в FireFox.
Но это возможно другим путем: наложение входного поля над элементом значка (или тем, что вы хотите использовать), и сделало его невидимым с помощью непрозрачности 0.
Это действительно отлично работает на мобильных устройствах, для настольных устройств я бы предложите добавить событие onclick в качестве резервной «$ ('. dateInpuBox»). click (). focus () "
.myBeautifulIcon {
position: relative;
width: 50px;
}
.dateInputBox {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
opacity: 0;
}
<div class="myBeautifulIcon">
ICON
<input class="dateInputBox" type="date" />
</div>
Вы должны использовать try catch в этом коде
getFriendsPosts = async (user,callback) => {
const arr = [];
const array = [];
const db = await MongoClient.connect(url);
const dbo = db.db("drone-x");
const results = await dbo.collection("users").find({_id: ObjectId(user.id)})
const resultPromise = _.map(results, async element => {
const friends = _.get(element, 'friends', [])
if(friends.length != 0) {
const friendPromise = _.map(friends, async friend => {
const ress = await dbo.collection("users").find({_id: ObjectId(friend.id)})
arr.push(ress);
const resPromise = _.map(ress, async res => {
const posts = await dbo.collection("posts").find({userId: res._id.toString()})
const postPromise = _.map(posts, post => {
array.push(post);
})
await Promise.all(postPromise)
})
await Promise.all(resPromise)
})
await Promise.all(friendPromise)
}
})
await Promise.all(resultPromise)
return { arr , array }
}
Я не рекомендую, чтобы это занимало слишком много времени. Вы должны использовать мангуста и использовать агрегацию для длинных запросов.