dropdown(下拉框)

多个dropdown共享状态

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <link type="text/css" rel="stylesheet" href="../style/avalon.doc.css"/>
    <script src="../avalon.js"></script>
    <script type="text/javascript">
        require(['dropdown/avalon.dropdown.js'], function() {
            var sr = [
                {
                    value: '1',
                    label: '1'
                }, {
                    value: '2',
                    label: '2'
                }, {
                    value: 'false',
                    label: 'false'
                },
                {
                    value: 'null',
                    label: 'null'
                }
            ];
            avalon.ready(function() {
                var dropdownVm = avalon.define('dropdown', function(vm) {
                    vm.$skipArray = ['opts'];
                    vm.opts = {
                        data: [],
                        onSelect: function(e, n, o, vmodel) {
                            var _sr = avalon.mix(true, [], sr)
                            avalon.each(_sr, function(i, v) {
                                if(v.value === n) {
                                    v.enable = false
                                } else {
                                    v.enable = true
                                }
                            })
                            dropdownVm.source.clear();
                            dropdownVm.source.pushArray(_sr);
                            avalon.each(vmodel.data, function(i, v) {
                                v.enable = true
                            })
                        }
                    };
                    vm.source = [];
                    vm.value = '1';
                });

                dropdownVm.opts.$source = dropdownVm.source;
                avalon.scan();
                setTimeout(function() {
                    dropdownVm.source.pushArray(sr)
                }, 500)
            });
        });
    </script>
    <script src="../highlight/shCore.js"></script>
</head>
<body>
    <div class="wrapper">
        <div ms-controller="dropdown">
            <h2>dropdown(下拉框)</h2>
            <p>多个dropdown共享状态</p>
            <select ms-widget="dropdown,$,opts"></select>
            <select ms-widget="dropdown,$,opts"></select>
            <select ms-widget="dropdown,$,opts"></select>
            <select ms-widget="dropdown,$,opts"></select>
        </div>
    </div>
</body>
</html>