首页 > 其他分享 >vue3+element plus表格实现单选功能

vue3+element plus表格实现单选功能

时间:2024-03-15 17:56:18浏览次数:33  
标签:function index value element radio vue3 单选 row

现有一个需求,表格单选带radio的效果,目前UI库还不支持。只能自行实现:贴下效果图:

 用到vue3 + element plus:

关键代码:

<!-- 表格 -->
<el-table ref="refsTable" @row-click="clickRow" :data="tableData" height="260px" highlight-current-row>
    <el-table-column type="selection" width="40">
        <template #default="scope">
            <el-radio v-model="radio" :label="scope.$index" @change="handleRadioChange(scope.$index, scope.row)"></el-radio>
        </template>
    </el-table-column>

    <el-table-column label="项目编号" width="200px" prop="projectCode" :show-overflow-tooltip="true">
        <template #default="scope">
            <div @click="handleClick(scope.$index)">{{ scope.row.projectCode }}</div>
        </template>
    </el-table-column>

    <el-table-column label="项目名称" prop="projectName" :show-overflow-tooltip="true">
        <template #default="scope">
            <div @click="handleClick(scope.$index)">{{ scope.row.projectName }}</div>
        </template>
    </el-table-column>

    <el-table-column label="开标时间" width="150px" prop="startTime" :show-overflow-tooltip="true">
        <template #default="scope">
            <div @click="handleClick(scope.$index)">{{ scope.row.startTime}}</div>
        </template>
    </el-table-column>
</el-table>


const radio = ref('');
const selectedPersons = ref('');

/**选择行数据 */
function clickRow(row, column, event) {
    selectedPersons.value = row;
}

// 选中单选框  这里不处理数据
function handleClick(index) {
    radio.value = index;    
}


function handleRadioChange(index, row) {
    radio.value = index;
    selectedPersons.value = row;
}

 

标签:function,index,value,element,radio,vue3,单选,row
From: https://www.cnblogs.com/shyhuahua/p/18075947

相关文章

  • [vue3 配置] import 图片无法识别的问题
    vue3引入图片,路径没错,但无法识别importdefaultImagefrom'@/assets/column.jpg'Cannotfindmodule'@/assets/column.jpg'oritscorrespondingtypedeclarations.为啥报这个错误?typescript无法识别图片文件,需要在配置中增加声明新建image.d.ts文件/*eslint-disable......
  • D. Blocking Elements
    原题链接题解最大值最小化,想到了二分而对于一个二分到的\(\mathscr{maxlen}\)而言,如何判断是否存在一种分法使得最大值不大于它?对于一个给定的二分值而言,要想成功有两个约束条件,一个是间断值不超过\(\mathscr{maxlen}\),一个是选中值之和不超过\(\mathscr{maxlen}\)由此......
  • Vue3的diff算法
    //https://github.com/vuejs/core/tree/main/packages/runtime-core/src/renderer.ts//https://github.com/vuejs/core/tree/main//packages/runtime-test/src/nodeOps.tsexportfunctiondiff(oldCh,newCh){letoldEndIndex=oldCh.length-1;letnewEndI......
  • vue3 中ref和reactive的区别讲解
    1.定于数据角度对比:ref用来定义:基本类型数据reactive用来定义:对象、或数组类型的数据备注:ref也可以用来定义对象或数组类型数据,它内部会自动通过reactive转为代理对象2.原理角度对比:ref通过Object.defineProperty()的get与set来实现响应式的(数据劫持)reactive通过......
  • VS Code配置Vue3模板代码
    打开VSCode,file-Preferences-ConfigureUserSnippets{"Printtoconsole":{"prefix":"vue","body":["<scriptsetuplang=\"ts\">","i......
  • Vue3生命周期 及和vue2的对比
    一、Vue3中的生命周期1、setup():开始创建组件,在beforeCreate和created之前执行,创建的是data和method2、onBeforeMount():组件挂载到节点上之前执行的函数;3、onMounted():组件挂载完成后执行的函数;4、onBeforeUpdate():组件更新之前执行的函数;5、onUpdated():......
  • 【vue3】关于ref、toRef、toRefs
    1.ref函数,可以把简单数据类型包裹为响应式数据(复杂类型也可以),注意JS中操作值的时候,需要加.value属性,模板中正常使用即可2.toRef函数的作用:转换响应式对象中某个属性为单独响应式数据,并且转换后的值和之前是关联的(ref函数也可以转换,但值非关联)3.toRefs函数的作用:转换响......
  • vue3 批量导入excel表
    安装xlxs插件npminstallxlsx//安装import*asXLSXfrom"xlsx";//引入 批量导入里面引用了element-plus的loading和弹窗,不需要的可以去掉letexcelloading;constimportExcel=(e)=>{//导入excelvarfile=e.target.files[0];if(......
  • vue3中setup使用及其语法糖的用法
    使用setup语法糖后,不用写setup函数;组件只需要引入不需要注册;属性和方法也不需要再返回,可以直接在template模板中使用。.setup语法糖中新增的apidefineProps:子组件接收父组件中传来的propsdefineEmits:子组件调用父组件中的方法defineExpose:子组件暴露属性,可以在父组件中......
  • element ui 自定义的快捷选项的日期选择器并格式化
    效果图时间日期选择器(el-date-picker)设置为段时间:type="datetimerange"规范格式:format="yyyy-MM-dd"value-format="yyyy-MM-dd"1.给日期选择器el-date-picker标签添加picker-options属性,传入变量pickerOptions<el-date-picker//日期选择器v-model="timeCyc......