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的更多相关文章

  1. vue table中使用多选的问题(翻页后如何保存已选项),联动echarts图表实现流量监控

    流量监控项目需求: 根据表格数据,添加多选功能,默认全选,根据已选项更新图表视图 1.表格需要多选 2.要联动图表,所以关键是要利用表格多选的触发回调函数 vue table中使用多选: 很简单,只需 ...

  2. Vue学习笔记:Slot

    转自:https://www.w3cplus.com/vue/vue-slot.html 在Vue中,slot也分多种,从Vue的官网中可以获知,其主要分为:单个插槽.具名插槽和作用域插槽三种 父组件 ...

  3. vue.js中的slot

    vue.js 中的 slot 一.slot 的作用 调用组件的时候,对于数据,我们会用props将数据从父组件传至子组件.但是,如果从父组件到子组件,单纯是页面局部渲染的改变,slot会更合适. 二. ...

  4. vue table已选列数据

    vue Table@on-selection-change="test" 已选中项数据 test(selection){} <Table :data="tableD ...

  5. 第八十九篇:Vue 重学插槽slot

    好家伙, 1.什么是插槽? 插槽是vue为组件的封装者提供的能力.允许开发者在封装组件时, 把不确定的,希望由用户指定的部分定义为插槽   我们依然可以把它理解为一个占位符 1.1.插槽的基本用法 试 ...

  6. vue table 固定首列和首行

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  7. [Vue]组件——插槽:slot(匿名插槽,具名插槽)与slot-scope(作用域插槽)

    1.单个插槽 | 匿名插槽 1.1<navigation-link> 子组件定义为: <a v-bind:href="url" class="nav-l ...

  8. 在vue中使用插槽 slot

    插槽(slot)这个概念非常重要 插槽的使用场景1:在子组件里面显示父组件的dom <div id='root'> <child content = '<p>Dell&l ...

  9. vue中的插槽slot理解

    本篇文章参考赛冷思的个人博客 1.函数默认传参 在我们写js函数我们的可能会给他们一个默认的参数,写法是 function show(age,name){ var age = age || 20; v ...

随机推荐

  1. LOJ10096掠夺计划

    题目传送门:https://loj.ac/problem/10096 ----------------------------------------------------------------- ...

  2. 2020最新idea永久激活教程

    注:以下为 idea 最新版本 2020.3.2 的永久激活教程,请按照如下步骤安装激活 (webstorm.pycharm 激活方法相同). 步骤一.下载安装包 去到 idea 官网 https:/ ...

  3. PL/SQL 学习分享(续)

    事务 事务的概述 事务的特性 回滚点 事务实例练习 动态SQL 动态SQL概述 动态SQL应用场合 动态SQL的执行语法 绑定变量 动态SQL创建表 动态SQL绑定变量 动态SQL综合案例添加数据 使 ...

  4. Postman 的 Post 请求方式的四种类型的数据

    Postman 的 Post 请求方式的四种类型的数据 1. form-data 2. x-www-form-urlencoded 3. raw 4. binary 1. form-data 就是 H ...

  5. 函数式编程(__slots__)

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...

  6. EIGRP和OSPF__邻居发现

    散知识点 1.当配置通配符时,它们的取值总是块尺寸减去1:/28的块尺寸为16,因此当我们添加网络声明时,使用了此子网号和一个在需配置的八位位组中添加值为15的通配符. 邻居发现 1.在EIGRP路由 ...

  7. php小程序-文章发布系统

    php小程序-文章发布系统 一 项目相关视图 二 项目经验 主要用于熟悉php与mysql的相关操作 三 源码下载地址 http://files.cnblogs.com/files/qiujun/ar ...

  8. php之bindValue和bindParam的区别

    PDOStatement::bindValue -  把一个值绑定到一个参数 绑定一个值到用作预处理的 SQL 语句中的对应命名占位符或问号占位符. PDOStatement::bindParam - ...

  9. C++隐式推导-auto关键词

    总述 C++中有一个关键字,它不进行显式声明,而进行隐式推导,auto可以在声明变量时根据变量初始值的类型自动为此变量选择匹配的类型.C++语言类似的关键字还有decltype. 如何评价 C++ 1 ...

  10. Hive配置Tez引擎踩坑

    框架版本 Hadoop 2.7.7 Hive 2.3.7 Tez 0.9.2 保证hadoop集群启动,hive元数据服务启动 上传tez到HDFS tar -zxvf apache-tez-0.9. ...