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. JAXB学习(二): 对JAXB支持的主要注解的说明

    我们在上一篇中对JAXB有了一个大致的认识,现在我们来了解JAXB的一些主要注解. 顶层元素:XmlRootElement 表示整个XML文档的类应该使用XmlRootElement修饰,其实就像之前 ...

  2. 剖析 CopyOnWriteArrayList

    原文链接:https://www.changxuan.top/?p=1252 CopyOnWriteArrayList 是 JUC 中唯一一个支持并发的 List. CopyOnWriteArrayL ...

  3. 客户端负载均衡Ribbon

    客户端负载均衡Ribbon 一.Ribbon是什么 二.Ribbon实现客户端负载均衡 三.Ribbon负载均衡策略 四.Rest请求模板类解读 4.1 RestTemplate的GET请求 第一种: ...

  4. 1. Centos 7重置root密码

    1.开机启动系统,不断按"↑"和"↓",在如下引导界面按"e",编辑引导项 2.按"↓"找到下图显示的代码 删除代码最后 ...

  5. django开发东京买菜,全栈项目,前端vue,带手机GPS精准定位,带发票系统,带快递系统,带微信/支付宝/花呗/银行卡支付/带手机号一键登陆,等等

    因为博客园不能发视频,所以,完整的视频,开发文档,源码,请向博主索取 完整视频+开发文档+源码,duanshuiLu.com下载 vue+django手机购物商城APP,带支付,带GPS精准定位用户, ...

  6. POJ-3208 Apocalypse Someday (数位DP)

    只要某数字的十进制表示中有三个6相邻,则该数字为魔鬼数,求第X小的魔鬼数\(X\le 5e7\) 这一类题目可以先用DP进行预处理,再基于拼凑思想,用"试填法"求出最终的答案 \( ...

  7. 2019icpc徐州站 Cat 计蒜客 - 42540 && The Answer to the Ultimate Question of Life, The Universe, and Everything. 计蒜客 - 42545

    VJ链接:https://vjudge.net/contest/412095#problem/A Cat 计蒜客 - 42540 题意: 给你一个区间[L,R],给你现在拥有的钱S.你需要从[L,R] ...

  8. 阅读笔记:Very Deep Convolutional Networks for Large-Scale Image Recognition

    摘要: 在这篇论文我们主要研究卷积神级网络的深度对大范围图像识别效果的影响,我们发现增加神经网络层数增加到16-19层时我们的实验结果有很大的提高.这使得我们在2014年的ImageNet Chall ...

  9. hdu5726 GCD(gcd +二分+rmq)

    Problem Description Give you a sequence of N(N≤100,000) integers : a1,...,an(0<ai≤1000,000,000). ...

  10. hdu 6835 Divisibility 思维

    题意: 给你一个10进制的b和x,对于任意的一个b进制的y.如果y每一位的和可以被x整除,且y可以被x整除:或者如果y每一位的和不可以被x整除,且y不可以被x整除.那么就输出T.否则输出F 题解: 代 ...