当前位置: 代码网 > it编程>前端脚本>Vue.js > vue table表格中如何控制下拉框的显示隐藏

vue table表格中如何控制下拉框的显示隐藏

2024年05月19日 Vue.js 我要评论
vue table表格控制下拉框的显示隐藏需求:点击表格的某一个列的吗某个值,显示那值得下拉框,失去焦点时则隐藏平时点击失去焦点后变化平时的显示 <vxe-table-column

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>

通过设置scope.row.ismodifiy2的属性判断下拉框的显示隐藏

通过插槽,获取整个表格具体的某一个值

通过这三个属性来获取到点击的某个值,

row获取那一行的数据,column获取那一列的数据,

      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是为了解决复杂的表单需要的设置
        this.datatable = object.assign([], this.datatable)
        //要进行数据的深拷贝,不然第一次点击的时会有点问题
        this.$nexttick(() => {

 e为false时,就是下拉框隐藏时,就会执行下面操作,让下拉框隐藏

 

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>

要重置查询的数据。在重置中清空refs 

// 重置
      reloadfun() {
        this.forminline = {
          vendorid: '',
          productcode: '',
          inventorycode: '',
          senddate: '',
          remark: '',
          cwhcode:''
        }
        this.$refs.vendorid.query = ''//.query是因为this.$refs.vendorid只能清空展示的下拉框的数据,不能清空底层的数据所以要.query清空底层数据
        this.tabledata = []
      },

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com