<u-form-item label="公司名称" > <u-select v-model="show" :list="list" ></u-select> <u-input @click="show = true" type="select" v-model="lable" placeholder="请选择公司名称"></u-input> </u-form-item> 如何将select中选中的项输入到input输入框中
时间: 2023-07-03 19:23:53 浏览: 268
您可以在 `u-select` 组件中添加 `@select` 事件监听器,该事件会在选中选项时触发,然后在事件处理程序中将选中项的值赋给 `u-input` 组件的 `value` 属性即可。具体代码如下:
```html
<u-form-item label="公司名称">
<u-select v-model="show" :list="list" @select="lable = $event.value"></u-select>
<u-input type="text" v-model="lable" placeholder="请选择公司名称"></u-input>
</u-form-item>
```
在上面的代码中,`@select="lable = $event.value"` 表示选中选项时将选项的值赋给 `lable` 变量,而 `v-model="lable"` 则将 `lable` 变量的值绑定到 `u-input` 组件的 `value` 属性上,这样选中的值就会显示在输入框中。
相关问题
<u-form-item label="公司名称" > <u-select v-model="show" :list="list" @confirm="confirm"></u-select> <u-input @click="show = true" type="select" v-model="name" placeholder="请选择公司名称"></u-input> </u-form-item> <u-line color="black"></u-line> <u-form-item label="所属公司"> <u-input v-model="serviceAreaRegion" disabled="true"/> </u-form-item> 如何在公司名称选择完毕后,触发事件获取所属公司名称并填入
可以在 `<u-select>` 组件的 `@confirm` 事件中触发获取所属公司名称并填入的操作。具体实现可以参考以下代码示例:
```
<template>
<div>
<u-form>
<u-form-item label="公司名称">
<u-select v-model="show" :list="list" @confirm="onConfirm"></u-select>
<u-input @click="show = true" type="select" v-model="name" placeholder="请选择公司名称"></u-input>
</u-form-item>
<u-line color="black"></u-line>
<u-form-item label="所属公司">
<u-input v-model="serviceAreaRegion" disabled="true"/>
</u-form-item>
</u-form>
</div>
</template>
<script>
export default {
data() {
return {
show: false,
list: ['公司A', '公司B', '公司C'],
name: '',
serviceAreaRegion: ''
}
},
methods: {
onConfirm() {
// 在确认选择公司名称后触发
// 获取所属公司名称并填入
this.serviceAreaRegion = 'xxx公司所属区域';
}
}
}
</script>
```
基于element-ui封装一个完整的form表单,其中包括时间,select,input,checkbox,upload上传且支持表单校验,自定义校验
好的,我可以为您提供一份基于element-ui封装的完整form表单代码,包括时间、select、input、checkbox、upload上传,并支持表单校验和自定义校验。
代码如下:
```html
<template>
<el-form ref="form" :model="formData" :rules="formRules" label-width="100px" style="max-width: 600px;">
<el-form-item label="时间">
<el-date-picker v-model="formData.time" type="datetime" placeholder="请选择时间"></el-date-picker>
</el-form-item>
<el-form-item label="选择">
<el-select v-model="formData.select" placeholder="请选择">
<el-option label="选项1" value="option1"></el-option>
<el-option label="选项2" value="option2"></el-option>
<el-option label="选项3" value="option3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="输入">
<el-input v-model="formData.input" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="多选框">
<el-checkbox-group v-model="formData.checkbox">
<el-checkbox label="选项1"></el-checkbox>
<el-checkbox label="选项2"></el-checkbox>
<el-checkbox label="选项3"></el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="上传">
<el-upload
class="upload-demo"
action="/upload"
:on-success="handleSuccess"
:on-error="handleError"
:before-upload="beforeUpload"
:file-list="fileList"
:limit="3"
:on-exceed="handleExceed"
:show-file-list="false">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
formData: {
time: '',
select: '',
input: '',
checkbox: [],
fileList: []
},
formRules: {
time: [{ required: true, message: '请选择时间', trigger: 'change' }],
select: [{ required: true, message: '请选择', trigger: 'change' }],
input: [{ required: true, message: '请输入', trigger: 'blur' }]
}
};
},
methods: {
// 上传相关方法
handleSuccess(response, file, fileList) {
console.log(response, file, fileList);
},
handleError(error, file, fileList) {
console.log(error, file, fileList);
},
beforeUpload(file) {
const isJPG = file.type === 'image/jpeg';
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isJPG) {
this.$message.error('上传图片只能是 JPG 格式!');
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!');
}
return isJPG && isLt2M;
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
// 表单相关方法
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
this.$message.success('提交成功');
} else {
this.$message.error('表单校验失败,请检查表单信息');
return false;
}
});
},
resetForm() {
this.$refs.form.resetFields();
}
}
};
</script>
```
以上代码使用了element-ui提供的组件,其中包括el-date-picker、el-select、el-input、el-checkbox-group、el-upload等组件,同时也支持表单校验和自定义校验。
表单数据通过formData来绑定,表单校验规则通过formRules来绑定。表单提交时调用submitForm方法,表单重置时调用resetForm方法。
期望这份代码能够对您有所帮助。
阅读全文