Files
element-plus/docs/examples/form/alignment.vue
星如雨 91ee8606fb feat(components): [form-item]: add label-position prop (#17111)
* feat(components): [form-item]: add `label-position` prop

* docs(components): form-item label-position docs

* test(components): form-item

closed form-item label-position test

* Update docs/en-US/component/form.md

Co-authored-by: btea <2356281422@qq.com>

* Update docs/en-US/component/form.md

Co-authored-by: btea <2356281422@qq.com>

* Update docs/en-US/component/form.md

Co-authored-by: btea <2356281422@qq.com>

* fix(components): form-item line-height is overridden by the form style
fix(components): form-item label-position style is invalid when label-width is auto

* docs(components):  update form and form-item alignment examples

* Update docs/en-US/component/form.md

Co-authored-by: kooriookami <38392315+kooriookami@users.noreply.github.com>

* Update docs/en-US/component/form.md

Co-authored-by: kooriookami <38392315+kooriookami@users.noreply.github.com>

---------

Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: kooriookami <38392315+kooriookami@users.noreply.github.com>
2024-06-24 16:43:02 +08:00

52 lines
1.5 KiB
Vue

<template>
<div style="margin: 20px">
<span>Form Align</span>
<el-radio-group v-model="labelPosition" aria-label="label position">
<el-radio-button value="left">Left</el-radio-button>
<el-radio-button value="right">Right</el-radio-button>
<el-radio-button value="top">Top</el-radio-button>
</el-radio-group>
</div>
<div>
<span>First Form Item Align</span>
<el-radio-group
v-model="itemLabelPosition"
aria-label="form item label position"
>
<el-radio-button value="left">Left</el-radio-button>
<el-radio-button value="right">Right</el-radio-button>
<el-radio-button value="top">Top</el-radio-button>
</el-radio-group>
</div>
<div style="margin: 20px" />
<el-form
:label-position="labelPosition"
label-width="auto"
:model="formLabelAlign"
style="max-width: 600px"
>
<el-form-item label="Name" :label-position="itemLabelPosition">
<el-input v-model="formLabelAlign.name" />
</el-form-item>
<el-form-item label="Activity zone">
<el-input v-model="formLabelAlign.region" />
</el-form-item>
<el-form-item label="Activity form">
<el-input v-model="formLabelAlign.type" />
</el-form-item>
</el-form>
</template>
<script lang="ts" setup>
import { reactive, ref } from 'vue'
import type { FormProps } from 'element-plus'
const labelPosition = ref<FormProps['labelPosition']>('right')
const itemLabelPosition = ref<FormProps['labelPosition']>('right')
const formLabelAlign = reactive({
name: '',
region: '',
type: '',
})
</script>