<el-container v-for="(domain) in picture.data" :key="domain.key">
<el-aside width="230px">
<div class="example-avatar">
<div v-show="$refs.upload && $refs.upload.dropActive" class="drop-active"></div>
<div v-for="b in domain.files" :key="b.key" class="avatar-upload" v-show="!domain.edit">
<div class="text-center p-2">
<label :for="'avatar'+b.key">
<img :src="b.imgurl.length ? b.imgurl[0].url : 'https://www.gravatar.com/avatar/default?s=200&r=pg&d=mm'" style="width:200px;height:206px;cursor:pointer;border: 1px solid lightgrey;border-radius:10px;"/>
</label>
</div>
<div class="text-center p-2">
<file-upload
extensions="gif,jpg,jpeg,png,webp"
accept="image/png,image/gif,image/jpeg,image/webp"
:name="'avatar'+b.key"
class="btn btn-primary"
post-action="/upload/post"
:drop="!domain.edit"
v-model="b.imgurl"
@input-filter="inputFilter"
ref="upload">
</file-upload>
</div>
</div>
</div>
</el-aside>
<el-container>
<el-header style="background-color: #e2e2e2;border-radius: 15px;text-align: center; width: 99.5%;">{{ domain.date }}
<el-popover
placement="top"
v-model="domain.visible">
<p style="text-align:center;">Вы уверены?</p>
<div style="text-align: center; margin: 0">
<el-button size="mini" type="text" @click="domain.visible = false">нет</el-button>
<el-button type="primary" size="mini" @click="removeblockpict(domain)">да</el-button>
</div>
<el-button style="float: right;margin-top: 10px;" slot="reference" type="danger" data-tooltip="элемент" icon="el-icon-delete" circle></el-button>
</el-popover>
</el-header>
<el-main style="padding:0;padding-top: 24px;">
<el-form>
<el-form-item style="width:100%">
<el-input v-model="domain.comment" :autosize="{ minRows: 5.3, maxRows: 5}" placeholder="Комментарий" type="textarea" style="width: 100%"></el-input>
</el-form-item>
</el-form>
</el-main>
</el-container>
</el-container>
каждый блок это 1 el-container есть вот такой массив
picture: {
data: [
{
key: 1,
files: [{imgurl:[{url:'https://www.sunhome.ru/i/wallpapers/200/planeta-zemlya-kartinka.960x540.jpg'}], key: Math.random().toString(16).slice(2)}],
edit: false,
date: 1527022800000,
comment: 'Тут пришел комментарий',
visible: false
},
{
key: 12,
files: [{imgurl:[{url:'https://www.sunhome.ru/i/wallpapers/200/planeta-zemlya-kartinka.960x540.jpg'}], key: Math.random().toString(16).slice(2)}],
edit: false,
date: 1529701200000,
comment: 'Тут пришел комментарий',
visible: false
}
]
},
как сделать сортировку по дате? что бы самое свежее было выше...
Вашу дату невозможно пропарсить и что-то с ней сделать встроенными в js
методами
new Date('15.09.2018') // Invalid Date
Могу предложить хранить дату вызовом Date.now()
количество миллисекунд с 1970 года. Вы банально сможете отсортировать массив методом .sort()
И преобразовать в последствии в любой формат вывода на страницу
// Создание даты
var date = Date.now() // 1537043086974
// Работа с датой
Intl.DateTimeFormat('ru').format(1537043086974) // "15.09.2018"
Ссылочки Intl.DateTimeFormat() и Date.prototype.toLocaleString()
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<ul id="app">
<li v-for="t in sortDesc" :key="t">
{{ t | formatDate }}
</li>
</ul>
<script>
new Vue({
el: '#app',
data() {
return {
time: [
1537043086974,
1536043086974,
1535043086974,
1534043086974,
1533043086974,
]
};
},
computed: {
sortDesc() {
return this.time.sort((a, b) => b - a);
}
},
filters: {
formatDate(date) {
return Intl.DateTimeFormat('ru').format(date);
}
}
});
</script>
Перевести в UNIX-time. Ну а там квадратичная или любая другая сортировка, в зависимости от колличества данных и изощренности.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
React Avatar Editor