Как выполнить функцию только при закрытии селектора framework7? - PullRequest
0 голосов
/ 16 октября 2018

Таким образом, сборщик выполняется на входе

var displayValuesProductoNuevo = ["Ninguno", "Equipo con producto","Equipo con muestra"]

    $$('#equipo_socio_nuevo').on('click', function (e) {
        let pickerSingleValue = myApp.picker({
            input: '#equipo_socio_nuevo',
            onClose: function (picker) {
                console.log(picker.value[0]);
                let  nuevo_equiposocionuevo = parseInt(picker.value[0]);
                    $('.catalogos_disponibles > tr').remove();
                    pedidoProforma(idPedido, tipo_envio, cod_agencia, cod_depto, producto_gratis,nuevo_equiposocionuevo, cod_cliente);

            },
            formatValue: function (p, values, displayValues) {
                return displayValues[0];
            },
            cols: [{
                textAlign: 'center',
                values: [0, 1,1],
                displayValues: displayValuesProductoNuevo,
            }],
        });
        pickerSingleValue.open();
    });

У меня есть деталь - использовать onClose, потому что эта функция выполняется каждый раз, когда сборщик открывается и каждый раз, когда я закрываю сборщик.Сборщик отображается следующим образом.enter image description here

Таким образом, идея заключается в том, что когда пользователь выбирает любую из этих трех опций и закрывает средство выбора, выполняется функция.

1 Ответ

0 голосов
/ 08 мая 2019

Вот пример того, как перехватить закрытое событие и получить текущее значение средства выбора:

    self.workOrderCategoriesPicker = app.picker.create({
        inputEl: '#new-work-order-categories',
        formatValue: function(values, displayValues) {
            return displayValues;
        },
        cols: [
            {
                textAlign: 'center',
                values: id_category_list,
                displayValues: category_list,

            }
        ],
        on: {
            closed: function (picker) {
                var value = picker.value[0];
                if (value) {
                    app.dialog.alert('picker value: ' + value)
                }
            }
        }
    });
...