tiny-vue/examples/sites/demos/pc/app/select/nest-grid-disable.vue

123 lines
3.2 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"
value-field="id"
text-field="city"
render-type="grid"
:grid-op="gridOpRadio"
:radio-config="radioConfig"
></tiny-select>
<br />
<br />
<div>场景2嵌套表格禁用某项多选</div>
<br />
<tiny-select
v-model="value2"
value-field="id"
multiple
text-field="city"
render-type="grid"
:grid-op="gridOp"
:select-config="selectConfig"
></tiny-select>
<br />
<br />
<div>场景3嵌套表格行选中单选</div>
<br />
<tiny-select
v-model="value3"
value-field="id"
text-field="city"
render-type="grid"
:grid-op="gridOpRadio"
:radio-config="{ trigger: 'row' }"
placeholder="请选择"
></tiny-select>
<br />
<br />
<div>场景4嵌套表格行选中多选</div>
<br />
<tiny-select
v-model="value4"
value-field="id"
multiple
text-field="city"
render-type="grid"
:grid-op="gridOp"
:select-config="{ trigger: 'row' }"
placeholder="请选择"
></tiny-select>
</div>
</template>
<script>
import { Select } from '@opentiny/vue'
export default {
components: {
TinySelect: Select
},
data() {
return {
selectConfig: {
checkMethod({ rowIndex }) {
return rowIndex % 2 === 0
}
},
radioConfig: {
checkMethod({ rowIndex }) {
return rowIndex % 2 === 1
}
},
value1: '',
value2: [],
value3: '',
value4: [],
gridOpRadio: {
data: [
{ id: '001', area: '华南区', province: '广东省', city: '广州市' },
{ id: '002', area: '华南区', province: '广东省', city: '深圳市' },
{ id: '003', area: '华南区', province: '广东省', city: '珠海市' },
{ id: '004', area: '华南区', province: '广东省', city: '佛山市' },
{ id: '005', area: '华南区', province: '广东省', city: '中山市' }
],
columns: [
{ type: 'radio', title: '' },
{ field: 'area', title: '区域', width: 100 },
{ field: 'province', title: '省份', width: 50 },
{ field: 'city', title: '城市' }
]
},
gridOp: {
data: [
{ id: '001', area: '华南区', province: '广东省', city: '广州市' },
{ id: '002', area: '华南区', province: '广东省', city: '深圳市' },
{ id: '003', area: '华南区', province: '广东省', city: '珠海市' },
{ id: '004', area: '华南区', province: '广东省', city: '佛山市' },
{ id: '005', area: '华南区', province: '广东省', city: '中山市' }
],
columns: [
{ type: 'selection', title: '' },
{ field: 'area', title: '区域', width: 100 },
{ field: 'province', title: '省份', width: 50 },
{ field: 'city', title: '城市' }
]
}
}
}
}
</script>
<style lang="less" scoped>
.tiny-select {
width: 280px;
}
p {
font-size: 14px;
line-height: 1.5;
}
</style>