vue & table with operation slot
vue & table with operation slot
seed demo
<!-- @format -->
<template>
<seed ref="list" :fetch-list="fetchList" :seed="seed">
<template slot="column-joinNum" slot-scope="{ row }">
<el-button
@click="showHistory('join', row)"
:disabled="row.joinNum === 0"
type="text"
>{{ row.joinNum }}</el-button
>
</template>
<template slot="column-violationNum" slot-scope="{ row }">
<el-button
@click="showHistory('violation', row)"
:disabled="row.violationNum === 0"
type="text"
>{{ row.violationNum }}</el-button
>
</template>
<template slot="column-control" slot-scope="{ row }">
<el-button size="mini" @click="reject(row.id)" type="danger"
>驳 回</el-button
>
</template>
</seed>
</template>
<script>
/**
* 正常用户
*/
import axios from 'axios'
import JoinHistory from './JoinHistory'
import ViolationHistory from './ViolationHistory'
import { SelectBox } from '@/mixins/audit'
const REJECT_REASONS = [
'发布营销内容',
'发布与事实不符内容',
'发布辱骂内容',
'发布不符合社区制度内容',
'发布违法内容'
]
export default {
components: {
JoinHistory,
ViolationHistory
},
data() {
return {
seed: [
{
key: 'userId',
label: '用户ID',
readonly: true
},
{
key: 'userName',
label: '用户名称',
readonly: true
},
{
key: 'mobileNo',
label: '用户手机号',
readonly: true
},
{
key: 'feedNum',
label: '内容数',
readonly: true
},
{
key: 'qualityFeedNum',
label: '优质内容数',
},
{
label: '最新加入时间',
key: 'addTime',
type: 'time',
},
{
key: 'joinNum',
label: '加入次数',
},
{
key: 'violationNum',
label: '违规次数',
}
]
}
},
methods: {
fetchList(params) {
return axios('/opapi/tweetClub', {
params: {
...params,
status: 1
}
})
},
showHistory(type = 'join', row = {}) {
const h = this.$createElement
let { userId, userName } = row
this.$msgbox({
title: userName + '的' + (type === 'join' ? '加入' : '违规') + '记录',
message: h(type + '-history', {
key: userId,
props: {
userId
}
})
})
},
reject(id) {
if (!id) {
this.$message.error('没有ID')
return
}
SelectBox(
REJECT_REASONS,
'是否驳回该用户身份,驳回后该用户将不享受福利!'
)
.then(supplement => {
return axios.put(`/opapi/tweetClub/${id}/reject`, '', {
params: {
supplement
}
})
})
.then(() => {
this.$message({
message: '驳回成功',
type: 'success',
})
this.$nextTick(() => {
this.$refs.list.refresh()
})
})
.catch(e => {
let message = e.message || e
if (e.response) {
message = e.response.data
}
this.$message.error(message)
})
}
}
}
</script>
refs
seed
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
vue & table with operation slot的更多相关文章
- vue table中使用多选的问题(翻页后如何保存已选项),联动echarts图表实现流量监控
流量监控项目需求: 根据表格数据,添加多选功能,默认全选,根据已选项更新图表视图 1.表格需要多选 2.要联动图表,所以关键是要利用表格多选的触发回调函数 vue table中使用多选: 很简单,只需 ...
- Vue学习笔记:Slot
转自:https://www.w3cplus.com/vue/vue-slot.html 在Vue中,slot也分多种,从Vue的官网中可以获知,其主要分为:单个插槽.具名插槽和作用域插槽三种 父组件 ...
- vue.js中的slot
vue.js 中的 slot 一.slot 的作用 调用组件的时候,对于数据,我们会用props将数据从父组件传至子组件.但是,如果从父组件到子组件,单纯是页面局部渲染的改变,slot会更合适. 二. ...
- vue table已选列数据
vue Table@on-selection-change="test" 已选中项数据 test(selection){} <Table :data="tableD ...
- 第八十九篇:Vue 重学插槽slot
好家伙, 1.什么是插槽? 插槽是vue为组件的封装者提供的能力.允许开发者在封装组件时, 把不确定的,希望由用户指定的部分定义为插槽 我们依然可以把它理解为一个占位符 1.1.插槽的基本用法 试 ...
- vue table 固定首列和首行
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- [Vue]组件——插槽:slot(匿名插槽,具名插槽)与slot-scope(作用域插槽)
1.单个插槽 | 匿名插槽 1.1<navigation-link> 子组件定义为: <a v-bind:href="url" class="nav-l ...
- 在vue中使用插槽 slot
插槽(slot)这个概念非常重要 插槽的使用场景1:在子组件里面显示父组件的dom <div id='root'> <child content = '<p>Dell&l ...
- vue中的插槽slot理解
本篇文章参考赛冷思的个人博客 1.函数默认传参 在我们写js函数我们的可能会给他们一个默认的参数,写法是 function show(age,name){ var age = age || 20; v ...
随机推荐
- (005)每日SQL学习:关于物化视图的一系列创建等语句
--给用户授权 GRANT CREATE MATERIALIZED VIEW TO CDR; --创建物化视图的表日志(具体到某个表,物化视图中用到几个表就需要建立几个日志):当用FAST选项创建物化 ...
- LOJ10082
题目描述 原题来自:Centrual Europe 2005 我们有N个字符串,每个字符串都是由 a 至 z 的小写英文字母组成的.如果字符串A的结尾两个字符刚好与字符串B的开头两个字符匹配,那么我们 ...
- Treap——堆和二叉树的完美结合,性价比极值的搜索树
大家好,今天和大家聊一个新的数据结构,叫做Treap. Treap本质上也是一颗BST(平衡二叉搜索树),和我们之前介绍的SBT是一样的.但是Treap维持平衡的方法和SBT不太一样,有些许区别,相比 ...
- Java通过openOffice实现word,excel,ppt转成pdf实现在线预览
Java通过openOffice实现word,excel,ppt转成pdf实现在线预览 一.OpenOffice 1.1 下载地址 1.2 JodConverter 1.3 新建实体类PDFDemo ...
- Git基本概念,流程,分支,标签及常用命令
Git基本概念,流程,分支,标签及常用命令 Git一张图 Git基本概念 仓库(Repository) 分支(Branch) Git工作流程 Git分支管理(branch) 列出分支 删除分支 分支合 ...
- zabbix设置告警
1.配置告警媒介 邮件: 微信: #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib,urllib2,datetime,hashli ...
- 浅谈Webpack模块打包工具一
为什么要使用模块打包工具 1.模块化开发ES Modules存在兼容性问题 打包之后成产阶段编译为ES5 解决兼容性问题 2.模块文件过多 网络请求频繁 开发阶段把散的模块打包成一个模块 解决网络请 ...
- BZOJ1396 识别子串【SAM+SegmentTree】
BZOJ1396 识别子串 给定一个串\(s\),对于串中的每个位置,输出经过这个位置且只在\(s\)中出现一次的子串的最短长度 朴素的想法是,我们要找到那些只出现一次的子串,之后遍历每个串,把串所覆 ...
- vector总结
vector是不定长数组,具有静态数组的稳定性和动态分配内存的灵活性,在赛场上不失为指针之外牺牲部分时间的保险之举. 本文先介绍一些vector常用的函数(部分借鉴一篇博客中的内容 链接),并以此为铺 ...
- 2019牛客暑期多校训练营(第三场)B题、H题
传送门 题意: 就是说给你一个由0或1组成的字符串,让你找出来一个0的数量和1的数量相等的最长子字符串和最长子序列 题解: 可以把0当作-1,把1当作1来计算字符串的前缀和 这样的话,当两个位置的前缀 ...