Files
vxe-table/examples/views/table/base/Size.vue
xuliangzhan 67e7f4e9b9 更新文档
2020-02-14 21:14:50 +08:00

412 lines
17 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>
<p class="tip">
可以设置大小尺寸medium / small / mini<br>
默认大小Table 48px Button 34pxInput 34pxCheckbox 16pxRadio 16px可以通过 scss 变量修改<a class="link" href="https://github.com/xuliangzhan/vxe-table/blob/master/styles/variable.scss" target="_blank">查看所有变量</a><br><a class="link" href="https://github.com/xuliangzhan/vxe-table-demo/tree/master/vxe-table-by-vue-custom-theme" target="_blank">项目示例</a>
</p>
<vxe-form :data="formData">
<vxe-form-item title="输入框" field="iVal">
<vxe-input v-model="formData.iVal" placeholder="请输入名称" clearable></vxe-input>
</vxe-form-item>
<vxe-form-item title="下拉框" field="sVal">
<select v-model="formData.sVal" class="vxe-select">
<option value="0"></option>
<option value="1"></option>
<option value="2"></option>
</select>
</vxe-form-item>
<vxe-form-item title="复选框" field="cVal">
<vxe-checkbox v-model="formData.cVal">选项1</vxe-checkbox>
<vxe-checkbox :indeterminate="formData.ciVal">半选</vxe-checkbox>
</vxe-form-item>
<vxe-form-item title="单选框" field="rVal">
<vxe-radio-group v-model="formData.rVal">
<vxe-radio label="1">选项1</vxe-radio>
<vxe-radio label="2">选项2</vxe-radio>
</vxe-radio-group>
</vxe-form-item>
<vxe-form-item>
<vxe-button type="submit" status="primary">查询</vxe-button>
<vxe-button type="reset">重置</vxe-button>
</vxe-form-item>
</vxe-form>
<vxe-toolbar export custom>
<template v-slot:buttons>
<vxe-input v-model="formData.name" placeholder="请输入名称" clearable></vxe-input>
<vxe-button status="primary">查询</vxe-button>
</template>
</vxe-toolbar>
<vxe-table
export-config
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
<vxe-pager
perfect
:current-page.sync="tablePage.currentPage"
:page-size.sync="tablePage.pageSize"
:total="tablePage.total"
:page-sizes="tablePage.pageSizes"
:layouts="tablePage.layouts">
</vxe-pager>
<p class="demo-code">{{ $t('app.body.button.showCode') }}</p>
<pre>
<code class="xml">{{ demoCodes[0] }}</code>
<code class="javascript">{{ demoCodes[1] }}</code>
</pre>
<p class="tip">设置大小为 medium默认大小Table 44px Button 32pxInput 32pxCheckbox 15pxRadio 15px</p>
<vxe-form :data="formData" size="medium">
<vxe-form-item title="输入框" field="iVal">
<vxe-input v-model="formData.iVal" placeholder="请输入名称" clearable></vxe-input>
</vxe-form-item>
<vxe-form-item title="下拉框" field="sVal">
<select v-model="formData.sVal" class="vxe-select">
<option value="0"></option>
<option value="1"></option>
<option value="2"></option>
</select>
</vxe-form-item>
<vxe-form-item title="复选框" field="cVal">
<vxe-checkbox v-model="formData.cVal">选项1</vxe-checkbox>
<vxe-checkbox :indeterminate="formData.ciVal">半选</vxe-checkbox>
</vxe-form-item>
<vxe-form-item title="单选框" field="rVal">
<vxe-radio-group v-model="formData.rVal">
<vxe-radio label="1">选项1</vxe-radio>
<vxe-radio label="2">选项2</vxe-radio>
</vxe-radio-group>
</vxe-form-item>
<vxe-form-item>
<vxe-button type="submit" status="primary">查询</vxe-button>
<vxe-button type="reset">重置</vxe-button>
</vxe-form-item>
</vxe-form>
<vxe-toolbar size="medium" export custom>
<template v-slot:buttons>
<vxe-input v-model="formData.name" placeholder="请输入名称" clearable></vxe-input>
<vxe-button status="primary">查询</vxe-button>
</template>
</vxe-toolbar>
<vxe-table
export-config
size="medium"
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
<vxe-pager
perfect
size="medium"
:current-page.sync="tablePage.currentPage"
:page-size.sync="tablePage.pageSize"
:total="tablePage.total"
:page-sizes="tablePage.pageSizes"
:layouts="tablePage.layouts">
</vxe-pager>
<p class="demo-code">{{ $t('app.body.button.showCode') }}</p>
<pre>
<code class="xml">{{ demoCodes[2] }}</code>
<code class="javascript">{{ demoCodes[3] }}</code>
</pre>
<p class="tip">设置大小为 small默认大小Table 40px Button 30pxInput 30pxCheckbox 14pxRadio 14px</p>
<vxe-form :data="formData" size="small">
<vxe-form-item title="输入框" field="iVal">
<vxe-input v-model="formData.iVal" placeholder="请输入名称" clearable></vxe-input>
</vxe-form-item>
<vxe-form-item title="下拉框" field="sVal">
<select v-model="formData.sVal" class="vxe-select">
<option value="0"></option>
<option value="1"></option>
<option value="2"></option>
</select>
</vxe-form-item>
<vxe-form-item title="复选框" field="cVal">
<vxe-checkbox v-model="formData.cVal">选项1</vxe-checkbox>
<vxe-checkbox :indeterminate="formData.ciVal">半选</vxe-checkbox>
</vxe-form-item>
<vxe-form-item title="单选框" field="rVal">
<vxe-radio-group v-model="formData.rVal">
<vxe-radio label="1">选项1</vxe-radio>
<vxe-radio label="2">选项2</vxe-radio>
</vxe-radio-group>
</vxe-form-item>
<vxe-form-item>
<vxe-button type="submit" status="primary">查询</vxe-button>
<vxe-button type="reset">重置</vxe-button>
</vxe-form-item>
</vxe-form>
<vxe-toolbar size="small" export custom>
<template v-slot:buttons>
<vxe-input v-model="formData.name" placeholder="请输入名称" clearable></vxe-input>
<vxe-button status="primary">查询</vxe-button>
</template>
</vxe-toolbar>
<vxe-table
export-config
size="small"
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
<vxe-pager
perfect
size="small"
:current-page.sync="tablePage.currentPage"
:page-size.sync="tablePage.pageSize"
:total="tablePage.total"
:page-sizes="tablePage.pageSizes"
:layouts="tablePage.layouts">
</vxe-pager>
<p class="demo-code">{{ $t('app.body.button.showCode') }}</p>
<pre>
<code class="xml">{{ demoCodes[4] }}</code>
<code class="javascript">{{ demoCodes[5] }}</code>
</pre>
<p class="tip">设置大小为 mini默认大小Table 36px Button 28pxInput 28pxCheckbox 14pxRadio 14px</p>
<vxe-form :data="formData" size="mini">
<vxe-form-item title="输入框" field="iVal">
<vxe-input v-model="formData.iVal" placeholder="请输入名称" clearable></vxe-input>
</vxe-form-item>
<vxe-form-item title="下拉框" field="sVal">
<select v-model="formData.sVal" class="vxe-select">
<option value="0"></option>
<option value="1"></option>
<option value="2"></option>
</select>
</vxe-form-item>
<vxe-form-item title="复选框" field="cVal">
<vxe-checkbox v-model="formData.cVal">选项1</vxe-checkbox>
<vxe-checkbox :indeterminate="formData.ciVal">半选</vxe-checkbox>
</vxe-form-item>
<vxe-form-item title="单选框" field="rVal">
<vxe-radio-group v-model="formData.rVal">
<vxe-radio label="1">选项1</vxe-radio>
<vxe-radio label="2">选项2</vxe-radio>
</vxe-radio-group>
</vxe-form-item>
<vxe-form-item>
<vxe-button type="submit" status="primary">查询</vxe-button>
<vxe-button type="reset">重置</vxe-button>
</vxe-form-item>
</vxe-form>
<vxe-toolbar size="mini" export custom>
<template v-slot:buttons>
<vxe-input v-model="formData.name" placeholder="请输入名称" clearable></vxe-input>
<vxe-button status="primary">查询</vxe-button>
</template>
</vxe-toolbar>
<vxe-table
export-config
size="mini"
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
<vxe-pager
perfect
size="mini"
:current-page.sync="tablePage.currentPage"
:page-size.sync="tablePage.pageSize"
:total="tablePage.total"
:page-sizes="tablePage.pageSizes"
:layouts="tablePage.layouts">
</vxe-pager>
<p class="demo-code">{{ $t('app.body.button.showCode') }}</p>
<pre>
<code class="xml">{{ demoCodes[6] }}</code>
<code class="javascript">{{ demoCodes[7] }}</code>
</pre>
</div>
</template>
<script>
import hljs from 'highlight.js'
export default {
data () {
return {
formData: {
iVal: '',
sVal: '',
cVal: true,
ciVal: true,
rVal: '1'
},
tablePage: {
total: 500,
currentPage: 1,
pageSize: 10,
pageSizes: [10, 15, 20, 50, 100],
layouts: ['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'FullJump', 'Sizes', 'Total']
},
tableData: [],
demoCodes: [
`
<vxe-table
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
`,
`
export default {
data () {
return {
tableData: []
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 3)
}
}
`,
`
<vxe-table
size="medium"
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
`,
`
export default {
data () {
return {
tableData: []
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 3)
}
}
`,
`
<vxe-table
size="small"
:data="tableData">
<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
`,
`
export default {
data () {
return {
tableData: []
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 3)
}
}
`,
`
<vxe-table
size="mini"
:data="tableData">
<<vxe-table-column type="seq" width="60"></vxe-table-column>
<vxe-table-column type="radio" width="60"></vxe-table-column>
<vxe-table-column type="checkbox" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="age" title="Age" sortable></vxe-table-column>
<vxe-table-column field="sex" title="Sex" :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]"></vxe-table-column>
<vxe-table-column field="sex2" title="Sex2" sortable :filters="[{value:'0',label:'女'},{value:'1',label:'男'}]" :filter-multiple="false"></vxe-table-column>
<vxe-table-column field="address" title="Address" show-overflow></vxe-table-column>
</vxe-table>
`,
`
export default {
data () {
return {
tableData: []
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 3)
}
}
`
]
}
},
created () {
this.tableData = window.MOCK_DATA_LIST.slice(0, 3)
},
mounted () {
Array.from(this.$el.querySelectorAll('pre code')).forEach((block) => {
hljs.highlightBlock(block)
})
}
}
</script>