169 похожих чатов

Ребята, подскажите Нужно реализовать что-то на подобее Excel таблицы т.е. есть таблица,

по стути двумерный массив наверно
и нужно реализовать формулы на подобие Excel
Где мне копать?

2 ответов

17 просмотров

Google sheets

На vue такое в принципе реализовать элементарно. - Сделать массив объектов населенных пунктов c id и title н.п. - Сделать форму для ввода данных, где через select отрисовать населенные пункты и поле ввода значения. Записывать значение id н.п. и значение родившихся через v-model в временный объект - По нажатию клавиши "Добавить", можно писать это значение одновременно и в БД, и пушить его в массив уже существующих данных в vue-компоненте. - создать computed свойство которое будет при каждом обновлении этот массив пересчитывать и группировать по каждому ключу суммарный массив значений, например Lodash функцией computed: { result : function () { var tmp = _.groupBy(массив_записей, 'свойство'); получим key -> values хранилище, которое можно отработать, например, через _.map var tmp2 = [] _.forEach(tmp, function(value, key){ var count = 0 _.map(value, function(val){ count += val }) tmp2.push({ id: key, count: count }) }) return tmp2 } После чего отрисовать в template <ul> <li v-for="item in result">{{ item.id }} : {{ item.count }}</li> </ul> И нужно еще сделать вспомогательный метод для получения названия н.п по id чтобы вообще красиво было getTitle(id) { return _.find(массив_нп, { 'id': id }).title } тогда шаблон будет таким <ul> <li v-for="item in tmp2">{{getTitle(item.id) }} : {{ item.count }}</li> </ul> - и все, можно идти пить кофе) Vue awesome! * Естественно, использовать Lodash не обязательно, можно и на чистом JS этот перебор сделать, но я лентяй)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта