提交 fb5395b5 作者: vben

fix(upload): fix file upload key loss #120

上级 88f4a3f0
import { defineComponent } from 'vue'; import { defineComponent, CSSProperties } from 'vue';
import { fileListProps } from './props'; import { fileListProps } from './props';
import { isFunction } from '/@/utils/is'; import { isFunction } from '/@/utils/is';
import './FileList.less'; import './FileList.less';
...@@ -16,11 +16,13 @@ export default defineComponent({ ...@@ -16,11 +16,13 @@ export default defineComponent({
<colgroup> <colgroup>
{columnList.map((item) => { {columnList.map((item) => {
const { width = 0, dataIndex } = item; const { width = 0, dataIndex } = item;
return width ? (
<col style={'width:' + width + 'px;min-width:' + width + 'px;'} key={dataIndex} /> const style: CSSProperties = {
) : ( width: `${width}px`,
<col /> minWidth: `${width}px`,
); };
return <col style={width ? style : {}} key={dataIndex} />;
})} })}
</colgroup> </colgroup>
<thead> <thead>
...@@ -38,22 +40,17 @@ export default defineComponent({ ...@@ -38,22 +40,17 @@ export default defineComponent({
<tbody> <tbody>
{dataSource.map((record = {}) => { {dataSource.map((record = {}) => {
return ( return (
<tr class="file-table-tr"> <tr class="file-table-tr" key={record.uuid}>
{columnList.map((item) => { {columnList.map((item) => {
const { dataIndex = '', customRender, align = 'center' } = item; const { dataIndex = '', customRender, align = 'center' } = item;
if (customRender && isFunction(customRender)) { const render = customRender && isFunction(customRender);
return (
<td class={['file-table-td', align]} key={dataIndex}>
{customRender({ text: record[dataIndex], record })}
</td>
);
} else {
return ( return (
<td class={['file-table-td', align]} key={dataIndex}> <td class={['file-table-td', align]} key={dataIndex}>
{record[dataIndex]} {render
? customRender?.({ text: record[dataIndex], record })
: record[dataIndex]}
</td> </td>
); );
}
})} })}
</tr> </tr>
); );
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论