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 ...
随机推荐
- ckeditor_配置 修改工具栏段落的标签和在文中的格式
在默认的工具栏中自带一个格式的选项,可以编辑文字的段落属性,将文字转换为标题.ckeditor中提供了方法可以对这个标签进行修改. 正在做的项目中不叫标题1标题2,叫章.节.条... . 需要进行配置 ...
- vue 新建项目
1. 首先安装node.js,安装时一直点Next,知道Finish就可以安装成功 2. 打开控制命令执行程序cmd,输入node -v ,可以查看node的版本信息,即安装成功,我安装的是v8.12 ...
- NS3可视化及动画工具(PyViz和NetAnim)
一.PyViz安装 1.安装依赖包 sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas p ...
- window.location各属性的值
window.location各属性的值 window.location.href "https://i.cnblogs.com/EditPosts.aspx?opt= ...
- windows下配置maven
首先下载好maven的压缩包,然后解压到某个目录下,我解压到了D盘 打开readme.txt 1.2步已经完成,第3步的意思是让我们把bin所在的路径添加到系统变量的path中去 第4步意思是确保的你 ...
- Alisha’s Party (HDU5437)优先队列+模拟
Alisha 举办聚会,会在一定朋友到达时打开门,并允许相应数量的朋友进入,带的礼物价值大的先进,最后一个人到达之后放外面的所有人进来.用优先队列模拟即可.需要定义朋友结构体,存储每个人的到达顺序以及 ...
- Javascript 2.9
对象:属性和方法属性:隶属于某个特定对象的变量方法:只有某个特定对象才能调用的函数 对象和方法都用"."来访问: Object.property Object.method() 由 ...
- Python练习三
1.使用while和for循环分别打印字符串s=’asdfer’中每个元素. s = "asdfer" index = 0 while index < int(len(s)) ...
- redis scan删除key的方法封装
/** * @desc 迭代式的删除redis key * 用法: * $redis = BaseService::S()->getRedisConfig(\Yii::$app->redi ...
- servlet_3
ServletContext 介绍 提供的功能 servlet中获取servletcontext实例 servletcontext接口的方法 package com.fgy; import java. ...