Vue 表格里的下拉列表
下拉列表column-select.vue组件内容:
<template>
<div class="column-select-wrapper">
<div v-show="!selectShow" class="column-text-container">
{{modalLabel}}
</div>
<Select v-show="selectShow" label-in-value :value="initValue" @on-change="valCHange">
<Option v-for="(item, index) in options" :key="index" :value="item[valueKey]">{{item[labelKey]}}</Option>
</Select>
</div>
</template> <script type="text/ecmascript-6">
/**
* 表行select组件
*/
export default {
name: 'column-select',
data() {
return {
}
},
props: {
initValue: {
type: [String, Number],
default: ''
},
options: {
type: Array,
required: true
},
//0显示状态 1编辑状态
status: {
type: Number,
default: 1
},
valueKey: {
type: String,
default: 'value'
},
labelKey: {
type: String,
default: 'label'
}
},
computed: {
selectShow() {
return this.status === 1;
},
modelLabel() {
let node = this.options.find((item) => {
return item[this.valueKey] === this.initValue;
});
if(node) {
return node[this.labelKey];
} else {
return '';
}
}
},
methods: {
valChange(selectOption) {
if(selectOption) {
this.$emit('update', selectOption.value);
}
}
}
}
<script> <style scoped lang="less">
.column-select-wrapper {
.column-text-container {
height: .36rem;
line-height: .36rem;
width: 100%;
}
/deep/ .ivu-select {
position: static;
}
}
</script>
调用column-select.vue文件的list.config.js文件内容(表格列表文件):
import columnSelect from './column-select';
export default (ctx) => {
return {
title: '序号',
align: 'center',
key: 'number'
},{
title: '列表',
align: 'center',
render(h, { row }) {
return h(columnSelect, {
props: {
initValue: row.teamCode,
status: row.status,
options: ctx.list,
labelKey: 'teamName',
valueKey: 'teamCode'
},
on: {
update(teamCode) {
ctx.updateRow(row, 'teamCode', teamCOde);
}
}
});
}
}
]
};
调用list.config.js文件的表格显示文件index.vue:
<template>
<div class="list-container">
<Table :columns="column" :data="listData" stripe />
</div>
</template> <script>
import column from './list.config.js';
export default {
data() {
return {
teamTypeList: [{
teamCode: "1",
teamName: "aaa"
},{
teamCode: "2",
teamName: "bbb"
},{
teamCode: "3",
teamName: "ccc"
},{
teamCode: "4",
teamName: "ddd"
}],
listData: [{
teamCode: '12',
teamName: 'qqq'
}]
}
},
methods: {
//更新该行数据字段
updateRow(row, key, value) {
this.listData[row._index][key] = value;
}
}
}
</script>
Vue 表格里的下拉列表的更多相关文章
- vue element-ui表格里时间戳转换成时间显示
工作中遇到后台给的表格数据里时间是一个13位的时间戳,需要转换成时间显示在表格里, 可以用element-ui表格自带的:formatter函数,来格式化表格内容: // 时间戳转换成时间 // 使用 ...
- 脚手架搭建的vue项目里引入jquery和bootstrap
引入jquery: 1.在cmd输入:npm install jquery,回车,等待.. 2.在webpack.base.conf.js里进行如下操作: 3.在webpack.prod.conf.j ...
- 如何让一个json文件显示在表格里
<body> //首先得把架子搭起来 <table id = "tb" border="1"> <tr></tr> ...
- 如何在HTML表格里定位到一行数据
业务需求: 在这样一个表格里,通过点击"确认"按钮,收集该行数据,向后台发送请求 解决办法 以该button为锚获取父节点,再由父节点获取各个元素的值 获取子元素又有很多办法,包括 ...
- 想在已创建的Vue工程里引入vux组件
<1>. 在项目里安装vux npm install vux --save <2>. 安装vux-loader (这个vux文档似乎没介绍,当初没安装结果报了一堆错误) npm ...
- vue render里面的nativeOn
vue render里面的nativeOn的解释官方的解释是:// 仅对于组件,用于监听原生事件,而不是组件内部使用 `vm.$emit` 触发的事件. 官方的解释比较抽象 个人理解: 父组件要在子组 ...
- 如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
copy内容的网址: https://segmentfault.com/a/1190000007020623 使用vue-cli构建的vue项目,webpack的配置文件是分散在很多地方的,而我们需要 ...
- Excel2010表格里设置每页打印时都有表头
在打印Excel表格时常常会出现如果存在多页打印时,往往从第二页开始就会出现没有表头的情况,导致到后面都不清楚对应的是哪个数据,查看时也很麻烦,下面就将为大家介绍如何在Excel表格里设置每页打印时都 ...
- webpack单独构建scss文件与.vue组件里构建scss的一个坑
在入口main.js里构建scss是通过引入模块的方式 import './assets/_reset.scss'; import './assets/_flex.scss'; import './a ...
随机推荐
- HDU - 6127: Hard challenge(扫描线,atan)
pro:给定N个二维平面的关键点,保证两点连线不经过原点.现在让你安排一条经过原点,但是不经过关键点的直线,使得两边的和的乘积最大. sol:由于连线不经过原点,所以我们极角排序即可. 具体:因为我们 ...
- 今天在2cto网站看到一个有关try{}catch(){}finally{}语句中含有return的讲解,理解很透彻。
publicclassTrycatchTest{ publicstaticvoidmain(String[]args){ System.out.println("x:"+newTr ...
- [ZJOI2007]矩阵游戏【bzoj1059/洛谷1129】/ [HEOI2016/TJOI2016]游戏
小QQ是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个N \times NN×N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种 ...
- adv生成控制器手腕位置倾斜原因以及解决方案
系统默认问题导致手腕倾斜详情描述: 手腕部分默认生成轴向是冲向模板下一层级第一个物体 简单说就是 FK轴向冲向模板中指方向 如图 默认模板没问题是因为 默认模板没有改动情况下系统中指与手腕在一条直 ...
- jupyter notebook 目录配置、导出 tex 和 pdf 及中文支持
环境:macbook pro, mactex, jupyter notebook, brew 安装pandoc从而支持格式转换为tex: brew install pandoc 修改tex artic ...
- Linux第二节课学习笔记
虚拟机不一定要安装12版本,但仅有12版本支持RHCE模拟考试环境,激活码可以百度. 在创建新的虚拟机过程中,安装客户机操作系统时需要选择稍后安装操作系统,否则会默认最小化安装导致后面课上很多命令不能 ...
- zabbix安装源
使用zabbix安装源可以避免版本不同的问题,自己根据自己的需求选择对应的版本即可 http://repo.zabbix.com/zabbix/
- http请求方法之options请求方法
需预检的请求”要求必须首先使用 OPTIONS 方法发起一个预检请求到服务器,以获知服务器是否允许该实际请求. https://developer.mozilla.org/zh-CN/docs/W ...
- git的基本应用(一)
Git常用的命令: mkdir 文件夹名称 创建文件夹 git init 将文件夹交个git管理 ls -ah ...
- LOJ 2548 「JSOI2018」绝地反击 ——二分图匹配+网络流手动退流
题目:https://loj.ac/problem/2548 如果知道正多边形的顶点,就是二分答案.二分图匹配.于是写了个暴力枚举多边形顶点的,还很愚蠢地把第一个顶点枚举到 2*pi ,其实只要 \( ...