| | |
| | | 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)" |
| | | /> |
| | |
| | | type="bar" |
| | | :label="bar.label" |
| | | :value="filterRes[bar.name]" |
| | | :onChange="evt=>handleItemChange(bar.name, evt)" |
| | | :onChange="evt=>handleBarChange(bar.name, evt)" |
| | | /> |
| | | </view> |
| | | <view |
| | |
| | | <scroll-view |
| | | class="c-filter-drawer-list" |
| | | :scrollY="true" |
| | | v-if="drawerDisplay" |
| | | > |
| | | <view |
| | | class="box" |
| | |
| | | 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)" |
| | | /> |
| | |
| | | return { |
| | | filterRes: {}, |
| | | drawerShow: false, |
| | | drawerDisplay: false, |
| | | // 面板项有已选 |
| | | itemsFilled: false, |
| | | // 本次打开是否有改变 |
| | |
| | | methods: { |
| | | handleOpen() { |
| | | this.drawerShow = true; |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | this.drawerDisplay = true; |
| | | }, 80); |
| | | }); |
| | | }, |
| | | handleBarChange(name, value) { |
| | | this.$set(this.filterRes, name, value); |
| | |
| | | }, |
| | | handleFinish() { |
| | | this.drawerShow = false; |
| | | this.$nextTick(() => { |
| | | this.drawerDisplay = false; |
| | | }); |
| | | // 有项目改变时,发送变化 |
| | | if (this.itemsChanged) { |
| | | this.itemsChanged = false; |
| | |
| | | } |
| | | }, |
| | | }, |
| | | mounted() {}, |
| | | }; |
| | | </script> |