mounted(el, { value }, vnode) {
        setSelected(el, value);
        const assign = getModelAssigner(vnode);
        addEventListener(el, 'change', () => {
            const selectedVal = Array.prototype.filter
                .call(el.options, (o) => o.selected)
                .map(getValue);
            assign(el.multiple ? selectedVal : selectedVal[0]);
        });
    }
// use mounted & updated because <select> relies on its children <option>s.
use mounted & updated because  relies on its children s.
use mounted & updated because relies on its children s .
mounted(el, { value }, vnode) {
        setSelected(el, value);
        const assign = getModelAssigner(vnode);
        addEventListener(el, 'change', () => {
            const selectedVal = Array.prototype.filter
                .call(el.options, (o) => o.selected)
                .map(getValue);
            assign(el.multiple ? selectedVal : selectedVal[0]);
        });
    }
mounted ( el , { value } , vnode ) { setSelected ( el , value ) ; const assign = getModelAssigner ( vnode ) ; addEventListener ( el , 'change' , ( ) => { const selectedVal = Array . prototype . filter . call ( el . options , ( o ) => o . selected ) . map ( getValue ) ; assign ( el . multiple ? selectedVal : selectedVal [ 0 ] ) ; } ) ; }
use mounted & updated because <select> relies on its children <option>s.
use mounted & updated because <select > relies on its children <option > s .