vue?table表格中如何控制下拉框的顯示隱藏
更新時間:2023年01月18日 11:14:20 作者:suzhiwei_boke
這篇文章主要介紹了vue?table表格中如何控制下拉框的顯示隱藏問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
vue table表格控制下拉框的顯示隱藏
需求:點擊表格的某一個列的嗎某個值,顯示那值得下拉框,失去焦點時則隱藏
平時
點擊
失去焦點后變化平時的顯示
<vxe-table-column align="center" title="類型" width="270" style="height:40px;" field="collectionType"> <template slot-scope="scope"> <!-- @change="changeSelect(scope,$event)" @visible-change="handleBlur(scope,$event)" --> <el-select v-if="scope.row.isModifiy2" ref="goodsSelect" v-model="scope.row.collectionType" size="mini" placeholder="請選擇" @visible-change="handleBlur(scope,$event)" @change="changeSelect(scope.row,$event)"> <el-option v-for="item in selectData" :key="item.value" :label="item.label" :value="item.value" /> </el-select> <template v-else><div style="cursor:pointer">{{ scope.row.collectionType }}</div></template> </template>
通過設(shè)置scope.row.isModifiy2的屬性判斷下拉框的顯示隱藏
通過插槽,獲取整個表格具體的某一個值
通過這三個屬性來獲取到點擊的某個值,
row獲取那一行的數(shù)據(jù),column獲取那一列的數(shù)據(jù),
const index = this.dataTable.findIndex((item) => { return column.property === item.prop }) //獲取點擊值那一列的索引 if (!this.dataTable[index]) return if (this.dataTable[index].isModifiy !== undefined) { row.isModifiy = true this.dataTable[index].isModifiy = true //上面的isModifiy是為了解決復(fù)雜的表單需要的設(shè)置 this.dataTable = Object.assign([], this.dataTable) //要進行數(shù)據(jù)的深拷貝,不然第一次點擊的時會有點問題 this.$nextTick(() => {
e為false時,就是下拉框隱藏時,就會執(zhí)行下面操作,讓下拉框隱藏
vue下拉框清空
<Select ref="vendorId" v-model="formInline.vendorId" @on-open-change="venSelect" filterable style="width: 162px;" @on-change="vendorChange" ? ? ? ? ? ? v-if="vendorShow"> ? ? ? ? ? ? <Option v-for="item in vendorList" :value="item.vendorId" :key="item.vendorId">{{ item.venAbbName + '-' + item.vendorCode }}</Option> ? </Select>
要重置查詢的數(shù)據(jù)。在重置中清空refs
// 重置 ? ? ? reloadFun() { ? ? ? ? this.formInline = { ? ? ? ? ? vendorId: '', ? ? ? ? ? productCode: '', ? ? ? ? ? inventoryCode: '', ? ? ? ? ? sendDate: '', ? ? ? ? ? remark: '', ? ? ? ? ? cwhCode:'' ? ? ? ? } ? ? ? ? this.$refs.vendorId.query = ''//.query是因為this.$refs.vendorId只能清空展示的下拉框的數(shù)據(jù),不能清空底層的數(shù)據(jù)所以要.query清空底層數(shù)據(jù) ? ? ? ? this.tableData = [] ? ? ? },
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3+echarts+折線投影(陰影)效果的實現(xiàn)
這篇文章主要介紹了vue3+echarts+折線投影(陰影)效果的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10使用 vue 實例更好的監(jiān)聽事件及vue實例的方法
這篇文章主要介紹了使用 vue 實例更好的監(jiān)聽事件及vue實例的方法,介紹了一種新增 vue 實例的方法,單獨監(jiān)聽事件,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04