vue+element:el-select和el-option组件和v-for语法,实现下拉列表的数据填充,并且点击下拉列表数据后,另一个表单数据的自动填充

1.第一个下拉列表,效果展示

2.第二个下拉列表,效果展示

3.先点击第一个下拉列表,然后第二个下拉列表自动填充,效果展示

4.js请求,后端接口,需要传递的数据格式,对象数组——appointmentUnitRecord_options1:

[ {"label": "培训教室","value": "教学"},
  {"label": "考试大厅", "value": "考试" },
 {"label": "共享自习室", "value": "培训" },
 {"label": "图书馆X", "value": "教学" } ]

4.1核心逻辑解释:

4.1.1 第一个下拉列表,第二个下拉列表的label值,不一致

第一个下拉列表 :label="item.label"

第二个下拉列表 :label="item.value"

4.1.2 第一个下拉列表,第二个下拉列表的value值,一致

第一个下拉列表 :value="item.value"

第二个下拉列表 :value="item.value"

4.1.3 自圆其说的解释

label值,对数据展示,起决定作用,决定了下拉列表的展示数据

value值,对数据展示,小作用,传给后端时用

key值,犯病一样,看不出有什么用处?没有还不行

4.1.4 逻辑解释

就是两个下拉列表表单,他们共用一个对象数组appointmentUnitRecord_options1,上面数据填充后,下面因为是共用一个对象数组,就会自动填充。

5.vue展示,前端代码

<el-row>
          <el-col :span="24">
            <el-form-item label="预约单元" prop="appointName">
              <el-select v-model="appointmentUnitRecord_form.appointTypeid" placeholder="请选择预约单元名称">
                <el-option v-for="item in appointmentUnitRecord_options1" :label="item.label" :value="item.value"
                           :key="item.key"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>

        <el-row>
          <el-col :span="24">
            <el-form-item label="预约类型" prop="appointTypeid">
              <el-select v-model="appointmentUnitRecord_form.appointTypeid" placeholder="请选择预约类型">
                <el-option v-for="item in appointmentUnitRecord_options1" :label="item.value" :value="item.value"
                           :key="item.key"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>

6.vue文件,script请求体中,methods方法js代码,数据加工展示

handleLoan(row) {
        get_realia_detail(row.ID).then(response => {
          this.form = response

          this.loan_open = true
          this.loan_title = '新增借出记录信息'
        })
},

7.js文件,发起请求,js代码,路由展示

// 后端接口:查询下拉列表
export function get_realia_detail(id) {
  return request({
    url: '/center/realia/detail/' + praseStrEmpty(id),
    method: 'get'
  })
}

### 如何在 Element UI 的 `el-select` 组件中设置多选的默认值 为了实现 `el-select` 多选组件的默认值设置,可以通过绑定 `v-model` 属性并初始化其值来完成。以下是具体方法: #### 初始化数据Vue 数据模型中,定义一个多维数组作为初始值,并将其赋给 `v-model`。该数组中的每一项应与选项对象的 `value` 值匹配。 ```javascript data() { return { selectedValues: ['option1', 'option3'], // 默认选中的值 options: [ { value: 'option1', label: 'Option 1' }, { value: 'option2', label: 'Option 2' }, { value: 'option3', label: 'Option 3' } ] }; } ``` #### 使用模板语法 在 HTML 模板中配置 `el-select` 并启用多选模式 (`multiple`),同时绑定 `v-model` 到已定义的数据字段。 ```html <template> <div> <el-select v-model="selectedValues" multiple placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> </template> ``` 此代码片段展示了如何通过预设 `selectedValues` 数组的内容自动填充默认选中的项目[^1]。 #### 动态更新默认值 如果需要动态调整默认值,则可以在生命周期钩子或特定事件处理程序中修改 `selectedValues` 的内容。例如,在页面加载完成后执行如下操作: ```javascript mounted() { this.selectedValues = ['option2']; // 修改默认选中状态 } ``` 以上逻辑确保了当组件渲染时,默认值能够被正确应用到视图层面上[^1]。 #### 注意事项 - 确保 `options` 中的每一条记录都有唯一的 `value` 字段用于标识。 - 如果希望某些条件下的默认值发生变化,请及时同步至 `selectedValues` 变量上以保持一致性。 ```python # Python 示例仅作对比说明用途,实际开发无需涉及此类转换 default_values = ["option1", "option3"] if some_condition: default_values.append("option2") print(default_values) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值