WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2021-07-01 1d0575844215e58e1556b64c3db74d4cea2c40be
plugins/filter/CFilter.vue
@@ -13,7 +13,7 @@
                v-if="bar.type==='select'"
                type="bar"
                :label="bar.label"
                :options="selectOptions[bar.name]"
                :options="selectOptions[bar.name] || []"
                :value="filterRes[bar.name]"
                :onChange="evt=>handleBarChange(bar.name, evt)"
            />
@@ -22,7 +22,7 @@
                type="bar"
                :label="bar.label"
                :value="filterRes[bar.name]"
                :onChange="evt=>handleItemChange(bar.name, evt)"
                :onChange="evt=>handleBarChange(bar.name, evt)"
            />
        </view>
        <view
@@ -44,6 +44,7 @@
            <scroll-view
                class="c-filter-drawer-list"
                :scrollY="true"
                v-if="drawerDisplay"
            >
                <view
                    class="box"
@@ -54,7 +55,7 @@
                        v-if="item.type==='select'"
                        type="item"
                        :label="item.label"
                        :options="selectOptions[item.name]"
                        :options="selectOptions[item.name] || []"
                        :value="filterRes[item.name]"
                        :onChange="evt=>handleItemChange(item.name, evt)"
                    />
@@ -112,6 +113,7 @@
        return {
            filterRes: {},
            drawerShow: false,
            drawerDisplay: false,
            // 面板项有已选
            itemsFilled: false,
            // 本次打开是否有改变
@@ -121,6 +123,11 @@
    methods: {
        handleOpen() {
            this.drawerShow = true;
            this.$nextTick(() => {
                setTimeout(() => {
                    this.drawerDisplay = true;
                }, 80);
            });
        },
        handleBarChange(name, value) {
            this.$set(this.filterRes, name, value);
@@ -155,6 +162,9 @@
        },
        handleFinish() {
            this.drawerShow = false;
            this.$nextTick(() => {
                this.drawerDisplay = false;
            });
            // 有项目改变时,发送变化
            if (this.itemsChanged) {
                this.itemsChanged = false;
@@ -162,5 +172,6 @@
            }
        },
    },
    mounted() {},
};
</script>