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 ...
随机推荐
- Java中对List集合的常用操作
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- 测试那些事儿—LR脚本插入DOS命令
1.基础命令 dir 查看当前目录下的文件和文件夹 cd 目录名:进入特定的目录. md 路径名:建立特定的文件夹. rd 路径名:删除特定的文件夹. cls:清除屏幕. copy 路径\文件名 ...
- OO第二次博客作业(第二单元总结)
在我开始写这次博客作业的时候,窗外响起了希望之花,由此联想到乘坐自己写的电梯FROM-3-TO--1下楼洗澡,然后······ 开个玩笑,这么辣鸡的电梯肯定不会投入实际使用的,何况只是一次作业.还是从 ...
- IDT表连接
一.table A为基础表,左外连接table B,若要限制B的条件,需加(+),否则会对结果集以B表的条件进行过滤. DWD_REASON_CODE.CODE(+)=DWR_EDA_CL_TST_D ...
- 5. Web vulnerability scanners (网页漏洞扫描器 20个)
5. Web vulnerability scanners (网页漏洞扫描器 20个) Burp Suite是攻击Web应用程序的集成平台. 它包含各种工具,它们之间有许多接口,旨在方便和加快攻击应用 ...
- Linux第六节课学习笔记
if条件测试语句可以让脚本根据实际情况自动执行相应的命令,可以分为单分支.双分支与多分支. /dev/null为无回收功能的垃圾箱. read是用来读取用户输入信息的命令,-p用来显示提示信息. fo ...
- webpack学习笔记(六)优化
1 loader 使用include,缩小编译范围: rules: [{ test: /\.js$/, include: path.resolve(__dirname, '../src'), use: ...
- Python 入门级报错处理
问题1:Missing parentheses in call to 'print' 原因:因为Python2.X和Python3.X不兼容.我安装的是Python3.X,但是我试图运行的却是Pyth ...
- lay-verify 无效
lay-verify 无效 使用lay-verify有两个需要注意的地方: form标签需要添加 class="layui-form" 提交按钮需要添加 lay-submit=&q ...
- Django的安装和启动以及第一个工程的建立
---恢复内容开始--- 前提:已经安装了python和Anaconda (windows系统) 在Anaconda安装好之后,其文件夹下有一个叫做Anaconda Prompt的工具,类似windo ...