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. linux - Ubuntu下编译Vim8(+python)无数次编译失败2. html5 - video ios不能播放怎么办?3. python运行后没有任何反馈要怎么排查4. javascript - h5 video层级太高导致浮在div上面,如何解决?5. 如何合并两张具有相同结构的mysql表6. javascript - Ajax加载Json时,移动端页面向左上角缩小一截儿,加载完成后才正常显示,这该如何解决?7. python中怎么对列表以区间进行统计?8. mysql ER_BAD_DB_ERROR: Unknown database ’test’9. javascript - 如何获取未来元素的父元素在页面中所有相同元素中是第几个?10. mysql - 记得以前在哪里看过一个估算时间的网站
