tiny-vue/examples/sites/demos/pc/app/grid/edit/status-of-editing-compositi...

102 lines
3.2 KiB
Vue
Raw 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>
<h4 class="title">开启编辑状态</h4>
<div class="btn-box">
<tiny-button @click="addRow">新增行</tiny-button>
</div>
<tiny-grid
:data="tableData"
ref="insertGrid"
show-overflow="tooltip"
seq-serial
:edit-config="{ trigger: 'click', mode: 'cell', showStatus: true, insertChanged: true }"
>
<tiny-grid-column type="index" width="60"></tiny-grid-column>
<tiny-grid-column field="name" title="名称" :editor="{ component: 'input', autoselect: true }"></tiny-grid-column>
<tiny-grid-column field="area" title="区域" :editor="{ component: 'select', options }"></tiny-grid-column>
<tiny-grid-column
field="address"
title="地址"
:editor="{ component: 'input', autoselect: true }"
></tiny-grid-column>
<tiny-grid-column
field="introduction"
title="公司简介"
:editor="{ component: 'input', autoselect: true }"
show-overflow="ellipsis"
></tiny-grid-column>
</tiny-grid>
<h4 class="title">关闭编辑状态</h4>
<tiny-grid :data="tableData" seq-serial :edit-config="{ trigger: 'click', mode: 'cell', showStatus: false }">
<tiny-grid-column type="index" width="60"></tiny-grid-column>
<tiny-grid-column field="name" title="名称" :editor="{ component: 'input', autoselect: true }"></tiny-grid-column>
<tiny-grid-column field="area" title="区域" :editor="{ component: 'select', options }"></tiny-grid-column>
<tiny-grid-column
field="address"
title="地址"
:editor="{ component: 'input', autoselect: true }"
></tiny-grid-column>
<tiny-grid-column
field="introduction"
title="公司简介"
:editor="{ component: 'input', autoselect: true }"
show-overflow="ellipsis"
></tiny-grid-column>
</tiny-grid>
</div>
</template>
<script setup>
import { ref } from 'vue'
import { TinyGrid, TinyGridColumn, TinyButton } from '@opentiny/vue'
const insertGrid = ref('insertGrid')
const options = ref([
{ label: '华北区', value: '华北区' },
{ label: '华东区', value: '华东区' },
{ label: '华南区', value: '华南区' }
])
const tableData = ref([
{
id: '1',
name: 'GFD 科技 YX 公司',
area: '华东区',
address: '福州',
introduction: '公司技术和研发实力雄厚,是国家 863 项目的参与者,并被政府认定为“高新技术企业”。'
},
{
id: '2',
name: 'WWWW 科技 YX 公司',
area: '华南区',
address: '深圳福田区',
introduction: '公司技术和研发实力雄厚,是国家 863 项目的参与者,并被政府认定为“高新技术企业”。'
},
{
id: '3',
name: 'RFV 有限责任公司',
area: '华南区',
address: '中山市',
introduction: '公司技术和研发实力雄厚,是国家 863 项目的参与者,并被政府认定为“高新技术企业”。'
}
])
const addRow = () => {
insertGrid.value.insert({}).then((res) => {
insertGrid.value.setActiveRow(res.row)
})
}
</script>
<style scoped>
.btn-box {
margin-bottom: 10px;
}
.title {
font-size: 16px;
padding: 15px;
font-weight: bolder;
color: #444;
}
</style>