elementui中,下拉框设置,既可以从下拉框中选择,又可以自己添加选项
1.需求在用elementui结合vue时,有个需求就是有个下拉框,我需要可以从下拉框中选,也可以自己输入的值变成下拉框的选项,那么,代码如下:2.实现在template中,我这是在表格中,表格中某一列要可操作,就是在表中操作<el-table-column label="税率" :show-overflow-tooltip="true" prop="taxRateVal" min-...
·
1.需求
在用elementui结合vue时,有个需求就是有个下拉框,我需要可以从下拉框中选,也可以自己输入的值变成下拉框的选项,那么,代码如下:
2.实现
在template中,我这是在表格中,表格中某一列要可操作,就是在表中操作
<el-table-column label="税率" :show-overflow-tooltip="true" prop="taxRateVal" min-width="100">
<template slot-scope="scope">
<el-autocomplete
v-model="scope.row.taxRateVal" // scope.row.taxRateVal我在下面方法中修改了row.taxRateVal的话,这里也会改的,所以不需要把修改的值赋值给这个
:fetch-suggestions="(keyword,cb)=>{querySearchAsync(keyword, cb, scope.$index, scope.row)}"
placeholder=""
size="medium"
clearable
@select="handleSelect"
></el-autocomplete>
</template>
</el-table-column>
在data中
data () {
return {
shuilvList: [] // 税率数组
}
}
在methods中
// 税率数组选择
querySearchAsync (qstring, cb, val, row) {
let _this = this;
let shuilvList = []
_this.axios.get('tmscominfos/getBySortCode/A01051', {}).then(function (response) {
if (response) {
_this.shuilvList = response.data
for (let item of response.data) {
if (row.taxRateVal) {
if (item.baseName.indexOf(row.taxRateVal) > -1) {
shuilvList.push({value: item.baseName})
}
} else {
shuilvList.push({value: item.baseName})
}
}
if (row.taxRateVal !== '' && shuilvList.length === 0) {
let r = []
r.push({value: row.taxRateVal});
cb(r)
} else {
cb(shuilvList)
}
}
}).catch(function () {
cb(shuilvList)
});
},
handleSelect (item) {
// 下拉框选择方法,选择之后做什么操作
console.log(item);
}
更多推荐
已为社区贡献4条内容
所有评论(0)