| | |
| | | type="bar" |
| | | :label="bar.label" |
| | | :options="selectOptions[bar.name]" |
| | | :value="filterRes[bar.name]" |
| | | :onChange="evt=>handleChange(bar.name, evt)" |
| | | /> |
| | | </view> |
| | |
| | | type="item" |
| | | :label="item.label" |
| | | :options="selectOptions[item.name]" |
| | | :value="filterRes[item.name]" |
| | | :onChange="evt=>handleChange(item.name, evt)" |
| | | /> |
| | | <CFilterDateRange |
| | | v-if="item.type==='dateRange'" |
| | | type="item" |
| | | :label="item.label" |
| | | :value="filterRes[item.name]" |
| | | :onChange="evt=>handleChange(item.name, evt)" |
| | | /> |
| | | </view> |
| | |
| | | import Taro from '@tarojs/taro'; |
| | | import { AtDrawer } from 'taro-ui-vue'; |
| | | import CFilterSelect from './CFilterSelect'; |
| | | import CFilterDateRange from './CFilterDateRange'; |
| | | import './cFilter.scss'; |
| | | |
| | | export default { |
| | |
| | | components: { |
| | | AtDrawer, |
| | | CFilterSelect, |
| | | CFilterDateRange, |
| | | }, |
| | | props: { |
| | | // 筛选横条项目 |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | filters: {}, |
| | | filterRes: {}, |
| | | drawerShow: false, |
| | | }; |
| | | }, |
| | | methods: { |
| | | handleChange(name, value) { |
| | | if (typeof value === 'undefined') { |
| | | delete this.filters[name]; |
| | | } else { |
| | | this.filters[name] = value; |
| | | } |
| | | this.onChange(this.filters); |
| | | this.$set(this.filterRes, name, value); |
| | | this.onChange(this.filterRes); |
| | | }, |
| | | }, |
| | | }; |