import React from 'react'; import { Table, Input, Select, Button, Avatar, Space, Tag } from 'tdesign-react'; export default function render() { const { t } = this; const { users = [], oakLoading, editableRowKeys = [] } = this.state; const { relations, entity, entityId } = this.props; const relationArr = typeof relations === 'object' ? relations : relations && JSON.parse(relations); return (
this.onRowEdit(params)} onRowValidate={(params) => this.onRowValidate(params)} columns={[ { colKey: 'avatar', title: '头像', cell: ({ row, rowIndex, col, colIndex }) => { const { avatar } = row; return avatar ? ( ) : ( 未设置 ); }, }, { colKey: 'name', title: '姓名', edit: { component: Input, props: { clearable: true, autofocus: true, autoWidth: true, }, rules: [{ required: true, message: '不能为空' }], showEditIcon: false, }, }, { colKey: 'nickname', title: '昵称', edit: { component: Input, props: { clearable: true, autofocus: true, autoWidth: true, }, rules: [{ required: true, message: '不能为空' }], showEditIcon: false, }, }, { colKey: 'mobile', title: '手机号', }, { colKey: 'relations', title: '权限', cell: ({ row, rowIndex, col, colIndex }) => { return ( {row.relations?.map((ele, index) => ( {t(entity + ':r.' + ele)} ))} ); }, edit: { component: Select, // props, 透传全部属性到 Select 组件 // props 为函数时,参数有:col, row, rowIndex, colIndex, editedRow。一般用于实现编辑组件之间的联动 props: ({ editedRow }) => { return { multiple: true, minCollapsedNum: 1, autoWidth: true, options: relationArr && relationArr.map((ele, index) => ({ value: ele, label: t(entity + ':r.' + ele), })), }; }, showEditIcon: false, rules: [ { required: true, message: '请至少选择一个权限' }, ], }, }, { title: '操作', colKey: 'operate', cell: ({ row }) => { const editable = editableRowKeys.includes(row.id); return ( {!editable && ( )} {editable && ( )} {editable && ( )} ); }, }, ]} data={users} /> ); }