| | |
| | | <template> |
| | | <div class="selects-container"> |
| | | <!-- 选择框 --> |
| | | <div |
| | | :class="{ 'selects-box-show': !optionsShow, 'selects-box-hide': optionsShow }" |
| | | class="selects-box" |
| | | @click="optionsShow = !optionsShow" |
| | | > |
| | | <div :class="{ 'selects-box-show': !optionsShow, 'selects-box-hide': optionsShow, 'select-choosable': selectAllClass }" |
| | | class="selects-box" @click="selectClick"> |
| | | <div class="text" v-text="checkValue"></div> |
| | | <i class="el-icon-arrow-down"></i> |
| | | </div> |
| | | <!-- 下拉框大盒子 --> |
| | | <div |
| | | :class="{ 'options-box-show': !optionsShow, 'options-box-hide': optionsShow, issel: options.length >= 4 }" |
| | | class="select-options" |
| | | :style="{ height: 35 * options.length + 'px' }" |
| | | > |
| | | <div :class="{ 'options-box-show': !optionsShow, 'options-box-hide': optionsShow, issel: options.length >= 4 }" |
| | | class="select-options" :style="{ height: 35 * options.length + 'px' }"> |
| | | <!-- 下拉框 --> |
| | | <div |
| | | @click="cutValue(item, index)" |
| | | v-for="(item, index) in options" |
| | | :key="index" |
| | | >{{ item[optionsName] }}</div> |
| | | <div @click="cutValue(item, index)" v-for="(item, index) in options" :key="index">{{ item[optionsName] }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | optionsName: { |
| | | type: String, |
| | | }, |
| | | |
| | | selectAllClass: { |
| | | type: Boolean, |
| | | required: false, |
| | | default: false |
| | | } |
| | | }, |
| | | |
| | | data () { |
| | |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | setTimeout(() => { |
| | | console.log(this.options) |
| | | }, 3000) |
| | | }, |
| | | |
| | | methods: { |
| | | //点击换文字的方法 |
| | | cutValue (item, index) { |
| | | this.optionsShow = true |
| | | this.$emit("selectCheck", item, index) |
| | | }, |
| | | selectClick () { |
| | | if (this.selectAllClass == true) return |
| | | this.optionsShow = !this.optionsShow |
| | | } |
| | | } |
| | | } |
| | |
| | | border: 1px solid rgba(20, 50, 123, 1); |
| | | } |
| | | |
| | | .select-choosable { |
| | | cursor: not-allowed !important; |
| | | } |
| | | |
| | | .selects-container { |
| | | width: 100%; |
| | | height: 100%; |