Vue3中Element Plus Table(表格)点击获取对应id方式

 更新时间:2023年10月13日 10:51:02   作者:weixin_51204324  
这篇文章主要介绍了Vue3中Element Plus Table(表格)点击获取对应id方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Vue3 Element Plus Table(表格)点击获取对应id

网上搜到的内容或许适用于 Vue 2 或 Element UI,不适用 Vue 3 和 Element Plus。

Template

<el-table-column label="配置" width="120" align="center">
  <template **v-slot="scope"**>
    <el-button link type="primary" size="small">编辑</el-button>
    <el-button link type="primary" @click="deleteNavigation(scope.row.id)" size="small">删除
    </el-button>
  </template>
</el-table-column>

Script

function deleteNavigation(id) {
  console.log(id);
}

使用 Vue 的 v-slot 指令,这个指令中是 Vue 2.6 新增的,取代了以前的 slot 和 slot-scope,而我使用的是 Vue 3,所以网上搜到的很多使用 slot-scope 的方法都失效了。

使用 插槽名.row 可以获取一行的内容,如果要获取行内的某一个字段的值,只需要再点出它的字段名,在我的代码里,就是 scope.row.id

如果要获取行的索引,使用 插槽名.$index,注意 $ 符号是必不可少的,否则将不起作用。

Vue3 elementPlus:下拉选择框同时获取到选中的id和数据

//在<el-option>里绑定@click事件

//html
<el-select
            value-key="id"
            v-model="filterText"
            multiple
        >
          <el-option
              v-for="item in Lists"
              :key="item.id"
              :label="item.name"
              :value="item"
              @click.native="changeGateway(item)"
          />
        </el-select>
//js
const changeGateway=(val)=>{
 if (val.state ===0) {//如果state 为0则按钮变为1
		val.state =1
	// console.log(val.state ,'点击显示');
 }else if(val.state ===1){//如果state 为1则按钮变为0
	    val.state =0
    // console.log(val.state ,"隐藏");
 }//接口
     update({
     id:val.id,
     state :val.state 
        }).then((res)=>{
		Datas=JSON.stringify(res.data.data)
		// console.log(store.state.clickHeaderDatas);		
		getlist()	//此封装函数里绑定了v-model的回显	
  })
}
 const getlist = () => {
              //接口
				list({}).then((res) => {
				let showArr  = res.data.data.filter((item)=>{
  			    return String(item.state)== 1;
				})
				// console.log(showArr,"showArr");//过滤掉为1的数据
				Lists = res.data.data
				res.data.data?.map((v)=>{
         //如果state为1则显示,0隐藏
					if (v.state==1) {
					filterText = showArr //显示选择器v-model
						}
				})
			})
		}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue 事件中的 .native你搞明白了吗

    Vue 事件中的 .native你搞明白了吗

    .native主要是给自定义的组件添加原生事件,可以理解为该修饰符的作用就是把一个vue组件转化为一个普通的HTML标签,并且该修饰符对普通HTML标签是没有任何作用的,这篇文章主要介绍了vue 事件中的 .native你搞清楚了吗,需要的朋友可以参考下
    2023-02-02
  • Vue中状态管理器(vuex)详解以及实际应用场景

    Vue中状态管理器(vuex)详解以及实际应用场景

    Vuex是一个专为Vue.js应用程序开发的状态管理模式,下面这篇文章主要给大家介绍了关于Vue中状态管理器(vuex)详解以及实际应用场景的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vue如何实现列表自动滚动、向上滚动的效果(vue-seamless-scroll)

    vue如何实现列表自动滚动、向上滚动的效果(vue-seamless-scroll)

    这篇文章主要介绍了vue如何实现列表自动滚动、向上滚动的效果(vue-seamless-scroll),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue-resource + json-server模拟数据的方法

    vue-resource + json-server模拟数据的方法

    本篇文章主要介绍了vue-resource + json-server模拟数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • vue项目中less的一些使用小技巧

    vue项目中less的一些使用小技巧

    前段时间一直在学习vue,开始记录一下遇到的问题,下面这篇文章主要给大家介绍了关于vue项目中less的一些使用小技巧,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • Vue keepAlive实现不同的路由共用一个组件component的缓存问题(推荐)

    Vue keepAlive实现不同的路由共用一个组件component的缓存问题(推荐)

    这篇文章主要介绍了Vue keepAlive实现不同的路由共用一个组件component的缓存问题,实现方式使用Vue keepAlive实现页面缓存,需要的朋友可以参考下
    2022-08-08
  • Vue3 diff算法的简单解刨

    Vue3 diff算法的简单解刨

    如今Vue3的势头正盛,在diff算法方面也做了相应的变化,利用到了最长递增子序列把性能又提升了一个档次。本文就来带大家简单解刨一下Vue3中的diff算法
    2023-02-02
  • vue中this.$refs有值,但无法获取ref的值问题及解决

    vue中this.$refs有值,但无法获取ref的值问题及解决

    这篇文章主要介绍了vue中this.$refs有值,但无法获取ref的值问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 详解element-ui表格中勾选checkbox,高亮当前行

    详解element-ui表格中勾选checkbox,高亮当前行

    这篇文章主要介绍了详解element-ui表格中勾选checkbox,高亮当前行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • npm run dev报错信息及解决方法

    npm run dev报错信息及解决方法

    这篇文章主要为大家介绍了npm run dev报错信息及解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09

最新评论