修改组件el-select默认展示id不展示label

项目中有修改组件,点击获取到表单的数据,但是有一个下拉框展示的是id而不是name

看了半天代码,双向绑定和传值都没问题,查了半天资料最后发现是后端传给我的id字段和前端的id类型不同,一个是字符串一个是number,返回的数字和el-option选框里的value值类型对应不上

 

 

解决办法:将v-for遍历的数组中id字段都改成number类型

修改前:

 

修改后:

 

修改后页面正常显示:

 

要根据多个 el-select来计算 el-table 的行数,但 el-select 的个数不确定,你可以通过监听 el-select变化来实时更新 el-table 的行数。 以下是一个示例的解决方案: 1. 在数据中定义一个数组,用于存储 el-select 组件的选项和对应的。 2. 使用 v-for 循环遍历数组,在模板中动态生成多个 el-select 组件。 3. 为每个 el-select 组件绑定一个唯一的 key ,以便 Vue.js 正确地跟踪每个组件的状态。 4. 使用 watch 监听 el-select 的变化,每当 el-select 发生改变时,重新计算 el-table 的行数。 5. 更新 el-table 行数后,可以通过 v-if 或 v-show 来控制 el-table 的显示与隐藏。 以下是一个简单的示例代码: ```html <template> <div> <div v-for="item in selectOptions" :key="item.id"> <el-select v-model="item.value" @change="updateTableRows"> <el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value" ></el-option> </el-select> </div> <el-table v-if="tableRows.length > 0" :data="tableRows"> <!-- 表格列定义 --> </el-table> <div v-else> No data available. </div> </div> </template> <script> export default { data() { return { selectOptions: [], options: [ { label: 'Option 1', value: 1 }, { label: 'Option 2', value: 2 }, { label: 'Option 3', value: 3 }, ], tableRows: [], } }, methods: { updateTableRows() { this.tableRows = this.selectOptions.map((item) => item.value) }, }, watch: { selectOptions: { deep: true, handler() { this.updateTableRows() }, }, }, } </script> ``` 在上面的示例中,每当 el-select发生变化时,`updateTableRows` 方法会根据 selectOptions 数组中每个 el-select来更新 tableRows 数组。然后,根据 tableRows 数组的长度来决定 el-table 是否显示。 你可以根据实际需求进行修改和扩展,例如添加默认选项、控制 el-table 的列定义等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值