el-form-item el-select下拉value label转换
时间: 2023-10-14 12:12:17 浏览: 95
Vue中el-form标签中的自定义el-select下拉框标签功能
如果你想在 `el-select` 组件中显示的内容和实际提交的值不同,可以使用 `el-form-item` 中的 `formatter` 和 `parser` 属性来进行转换。
在 `el-select` 中设置 `v-model` 为表单数据中对应的字段,然后在 `el-form-item` 中设置 `formatter` 和 `parser` 属性。
例如,你有一个下拉列表用于选择性别,实际提交的值为 `1` 和 `2`,但你想要在列表中显示的是 `男` 和 `女`。那么你可以这样写代码:
```html
<el-form :model="form">
<el-form-item label="性别" prop="gender" :formatter="genderFormatter" :parser="genderParser">
<el-select v-model="form.gender">
<el-option label="男" value="1"></el-option>
<el-option label="女" value="2"></el-option>
</el-select>
</el-form-item>
</el-form>
```
然后在 `methods` 中定义 `genderFormatter` 和 `genderParser` 方法:
```js
methods: {
genderFormatter(value) {
if (value === '1') {
return '男';
} else if (value === '2') {
return '女';
}
return '';
},
genderParser(value) {
if (value === '男') {
return '1';
} else if (value === '女') {
return '2';
}
return '';
},
}
```
这样,当你选择 `男` 时,实际提交的值为 `1`,选择 `女` 时,实际提交的值为 `2`。
阅读全文