javascript - elementui input带提示框 选中传参问题
问题描述
最近用了elementui做项目,遇到一些问题。
需求:选中提示内容之后 给datatable对应行row的id赋值,(后台要求传id,不传input的值)。
问题:自定义table嵌套 带提示的input,select函数api上自带一个参数,我额外添加一个参数row之后,就获取不到当前的选中的数据?
<el-table-column prop='futuresContractId' label='采购合约' width='120'> <template scope='scope'> <el-autocomplete v-model='scope.row.id' :value='scope.row.futuresContractId' :fetch-suggestions='querySearch' placeholder='请输入' :trigger-on-focus='false' @select='handleSelect(scope.row)' > </el-autocomplete> </template> </el-table-column>
querySearch(queryString, cb) {var restaurants = [ {id:2,name:'M1701',value:'M1701'}, {id:4,name:'M1705',value:'M1705'} {id:8,name:'M1709',value:'M1709'}];var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; // 调用 callback 返回建议列表的数据cb(results); }, createFilter(queryString) { return (restaurant) => { return (restaurant.value.indexOf(queryString.toLowerCase()) >= 0); }; }, handleSelect(row) { console.log(row) //?这里可以把当前行row传过来,疑问是如何把选中的值id传给当前的row的id? //如不带参数过来,默认参数就是选中的restaurants元素 },


问题解答
回答1:你这种思路还是老的思路,没有享受 VueJS 的大法。
Autocomplete 组件,当你选择以后,直接就会把 Value 赋值给你的 v-model='scope.row.id' 的了。所以你的疑问 疑问是如何把选中的值id传给当前的row的id? 不是疑问。
handleSelect(row) { // 默认参数就是当前的row // row 的 ID 已被改变,无需手动处理}
我根据的你的代码,弄了一个可执行的,你看下,如果理解不正确,及时指出。
https://jsfiddle.net/j6toc479/3/
相关文章:
1. node.js - nodeJS 写入文件的内容怎么不是按次序的?2. 用CSS3 box-sizing 属性实现两个并排的容器,如果想让容器中间有间隔该如何实现3. javascript - 求一款靠谱点的移动端图片查看器插件,老司机速进!4. debian - docker依赖的aufs-tools源码哪里可以找到啊?5. docker gitlab 如何git clone?6. oop - Java中,关于匿名内部类调用外部类方法的疑惑7. javascript - angular左右滑动如何切换路由状态,????8. javascript - jquery hide()方法无效9. 这是什么情况???10. 网页爬虫 - Python爬虫入门知识

网公网安备