如何在vue中的form表单中下拉框的数据来自数据库查询

前端与后端交互实现下拉列表数据加载
该博客介绍了前端与后端交互实现下拉列表数据加载的方法。前端部分涉及 HTML 中 prop 和 v-model 的使用,JS 数据可写死或从数据库获取,调用后台接口返回数据给下拉列表。后端方法执行提交操作。
1、实现效果:

2、前端html部分:
<el-form-item  label="汽车类型" prop="type" >
            <el-select v-model="ruleForm.type" placeholder="请选择">
              <el-option v-for="item in options" :key="item.id"  :value="item.type">
                {{item.type}}
              </el-option>
            </el-select>

注意:prop后面 "type" 为数据库表单中的字段;

           v-model 是对数据的绑定。

3、JS部分:
options: [
          // {
          //   id: '选项1',
          //   type: '轿车'
          // }, {
          //   id: '选项2',
          //   type: '跑车'
          // }
        ], //列表数据

注意:这里的数据可以直接在代码中写死,也可以在数据库中获取。

4、JS中的方法:
      //选择下拉框
      getOptions(){
        axios.get("/car/cartypelist").then(res => {
          console.log(res)
          this.options = res.data.data.cartypeList;
        });
      },

注意:调用后台的接口,将查询到的数据返回给下拉列表。
           对返回值没有做太多的处理(这里应该根据返回状态执行下一步操作)

提前加载数据

 created() {
      this.getOptions()
    }
5、后端方法:
    @RequestMapping(value = "/car/cartypelist", method = RequestMethod.GET)
    public Result findCarType() {
        List<CarType> carList = carService.findCarType();
        if (carList != null) {
            return Result.ok().data("cartypeList", carList);
        } else {
            return Result.error();
        }
    }

之后执行提交。

提交按钮:

   <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
6、调用后台的方法:
      //提交表单
      submitForm() {

        let _this = this;

        alert(_this.ruleForm.imageUrl)
        axios.post('/car/addcar',this.ruleForm).then(resp => {

          if(resp.data.code==200){

            // alert("添加成功") 跳转的路由
            _this.$alert('《'+_this.ruleForm.name+'》添加成功', '消息', {
              confirmButtonText: '确定',
              callback: action => {
                _this.adddialogVisible=false
                _this.showAllUsers();
              }
            });

          }

        });
      },
vxe-form是一个基于Vue.js表单组件库,其中包含了多种表单元素,包括下拉框(select)。 使用vxe-form中的下拉框非常简单。首先,需要引入相关的组件。 在Vue的模板中,通过使用vxe-form-item组件包裹下拉框来创建表单项,例如: <vxe-form-item label="性别"> <vxe-select v-model="gender" placeholder="请选择性别"> <vxe-option label="男" value="male"></vxe-option> <vxe-option label="女" value="female"></vxe-option> <vxe-option label="其他" value="other"></vxe-option> </vxe-select> </vxe-form-item> 在上述代码中,我们通过vxe-form-item设置了表单项的Label为“性别”,并且使用了v-model指令将下拉框的选择值绑定到data中的gender变量上,使得选择的值能够在Vue实例中进行使用。 在vxe-select中,我们将每个选项都使用vxe-option组件包裹,其中label属性设置了选项的展示文本,value属性设置了选项的值。 通过上述代码,我们就成功地创建了一个具有下拉框表单项。当用户在下拉框中进行选择时,Vue实例中对应的gender变量会被更新为所选的值。 除了上述基本的使用方式外,vxe-form下拉框还支持更多的配置。可以通过设置disabled属性来禁用下拉框,设置clearable属性来显示清除按钮,设置filterable属性来启用可搜索的下拉框等等。 总之,vxe-form中的下拉框使用简单方便,通过设置v-model绑定数据实现数据的双向绑定,可以满足常见的下选择需求。同时,通过配置属性,可以进一步定制下拉框的功能和外观。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值