tiny-vue/examples/sites/demos/pc/app/select/multiple.vue

135 lines
3.8 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div>
<div>场景1多选</div>
<br />
<tiny-select v-model="value1" multiple searchable>
<tiny-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="item.disabled"
:required="item.required"
>
</tiny-option>
</tiny-select>
<br />
<br />
<div>场景2必选</div>
<br />
<tiny-select v-model="value2" multiple>
<tiny-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="item.disabled"
:required="item.required"
>
</tiny-option>
</tiny-select>
<br />
<br />
<div>场景3配置式必选</div>
<br />
<tiny-select v-model="value3" multiple :options="options2"> </tiny-select>
<br />
<br />
<div>场景4多选个数限制</div>
<br />
<tiny-select v-model="value4" :options="options1" multiple :multiple-limit="2" show-limit-text> </tiny-select>
<br />
<br />
<div>场景5自定义图标 + 自定义样式</div>
<br />
<tiny-select
v-model="value4"
multiple
:options="options1"
:dropdown-icon="iconPopup"
:drop-style="{ width: '200px', 'min-width': '200px' }"
>
</tiny-select>
<br />
<br />
<div>场景6禁用</div>
<br />
<tiny-select v-model="value5" multiple :options="options1" disabled> </tiny-select>
<br />
<br />
<div>场景7只展示</div>
<br />
<tiny-select v-model="value5" multiple :options="options1" display-only> </tiny-select>
<br />
<br />
<div>场景8显示全选文本</div>
<br />
<tiny-select v-model="value5" multiple :options="options1" show-all-text-tag> </tiny-select>
<br />
<br />
<tiny-select v-model="value5" multiple :options="options1" show-all-text-tag disabled> </tiny-select>
<br />
<br />
<div>场景9折叠tag + 必选项 + 禁用项</div>
<br />
<tiny-select v-model="value5" multiple :options="options1" collapse-tags> </tiny-select>
<br />
<br />
<div>场景10悬浮展开 + 必选项 + 禁用项</div>
<br />
<tiny-select v-model="value5" multiple :options="options1" hover-expand> </tiny-select>
<br />
<br />
<br />
<div>场景11点击展开 + 必选项 + 禁用项</div>
<br />
<tiny-select v-model="value5" multiple :options="options1" click-expand> </tiny-select>
</div>
</template>
<script>
import { Select, Option } from '@opentiny/vue'
import { iconPopup } from '@opentiny/vue-icon'
export default {
components: {
TinySelect: Select,
TinyOption: Option
},
data() {
return {
options1: [
{ value: '选项1', label: '北京(禁用)', disabled: true }, // 禁用项
{ value: '选项2', label: '上海(必选)', required: true }, // 必选项
{ value: '选项3', label: '天津' },
{ value: '选项4', label: '重庆' },
{ value: '选项5', label: '深圳' },
{ value: '选项6', label: '南京' },
{ value: '选项7', label: '成都' }
],
options2: [
{ value: '选项1', label: '北京' },
{ value: '选项2', label: '上海' },
{ value: '选项3', label: '天津' },
{ value: '选项4', label: '重庆' },
{ value: '选项5', label: '深圳(必选)', required: true },
{ value: '选项6', label: '南京' },
{ value: '选项7', label: '成都' }
],
value1: ['选项1', '选项2'],
value2: ['选项1', '选项2'],
value3: ['选项1', '选项2'],
value4: [],
value5: ['选项1', '选项2', '选项3', '选项4', '选项5', '选项6', '选项7'],
iconPopup: iconPopup()
}
}
}
</script>
<style lang="less" scoped>
.tiny-select {
width: 280px;
}
</style>