diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 2eefef0a..0b07af02 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -65,6 +65,7 @@ export default defineConfig({ text: "下拉选择表格组件", link: "/components/TSelectTable/base.md" }, + { text: "Virtualized TSelectTablev1.4.13", link: "/components/multipleVirtual/base.md" }, { text: "条件查询组件", link: "/components/TQueryCondition/base.md" diff --git a/docs/components/TSelectTable/base.md b/docs/components/TSelectTable/base.md index 08edfa97..44401e7a 100644 --- a/docs/components/TSelectTable/base.md +++ b/docs/components/TSelectTable/base.md @@ -129,6 +129,7 @@ TSelectTable/slotUse TSelectTable/isShowInput ::: + ### TSelectTable 参数配置 --- @@ -147,48 +148,53 @@ TSelectTable/isShowInput ### 2、配置参数(Attributes)继承 el-table 及 el-select 属性 -| 参数 | 说明 | 类型 | 默认值 | -| :------------------ | :-------------------------------------------------------------------------------------- | :------------------------ | :--------- | -| v-model | 绑定值 | boolean / string / number | 仅显示 | -| v-model:input-value | 输入框回显值 | boolean / string / number | - | -| isShowInput | 是否输入框显示 | Boolean | false | -| table | 表格数据对象 | Object | {} | -| ---data | 展示下拉数据源 | Array | [] | -| ---total | 数据总条数 | Number | - | -| ---pageSize | 每页显示条目个数 | Number | - | -| ---currentPage | 当前页数 | Number | - | -| columns | 表头信息 | Array | [] | -| ----bind | el-table-column Attributes | Object | - | -| ----fixed | 列是否固定( left, right) | string, boolean | - | -| ----align | 对齐方式(left/center/right) | String | center | -| ----render | 返回三个参数(text:当前值,row:当前整条数据 ,index:当前行) | function | - | -| ----slotName | 插槽显示此列数据(其值是具名作用域插槽) | String | - | -| ------scope | 具名插槽获取此行数据必须用解构接收{scope} | Object | 当前行数据 | -| keywords | 关键字配置(value-key 配置) | Object | 无 | -| ------label | 选项的标签 | String | ‘label’ | -| ------value | 选项的值 | String / number | ‘value’ | -| radioTxt | 单选文案 | String | 单选 | -| multiple | 是否开启多选 | Boolean | false | -| filterMethod | 自定义过滤 | function | - | -| rowClickRadio | 是否开启整行选中(单选) | boolean | true | -| isShowFirstColumn | 是否显示首列(单选) | boolean | true | -| defaultSelectVal | 设置第一页默认选中项--keywords.value 值 | Array | [] | -| filterable | 是否开启过滤(根据 keywords 的 label 值进行过滤) | Boolean | true | -| reserveSelection | 是否支持翻页选中 | Boolean | true | -| isShowPagination | 开启分页 | Boolean | false | -| tableWidth | table 宽度(单位:px) 若设置 0,宽度 100% | Number/String | 550 | -| selectWidth | select 宽度(单位:px) 若设置 0,宽度 100% | Number/String | 550 | -| inputWidth | input 输入框的宽度(单位:px) 若设置 0,宽度 100% | Number/String | 550 | -| inputAttr | 继承所有 el-input 的属性 | Object | - | -| isKeyup | 单选是否开启键盘事件 | Boolean | false | -| isShowQuery | 是否允许配置查询条件(继承 TQueryCondition 的所有属性、事件、插槽) | Boolean | false | -| isShowBlurBtn | 条件查询组件是否显示隐藏下拉框按钮 | Boolean | false | -| btnBind | 显示下拉框按钮配置,继承`el-button`所有属性;`默认值{type:'danger',btnTxt:'关闭下拉框'}` | Object | - | -| isClearQuery | 关闭下拉框是否清空搜索条件 | Boolean | false | -| selfExpanded | 是否始终显示下拉框 | Boolean | false | -| isExpanded | 是否显示下拉框 | Boolean | false | -| toolbar | el-table 头部插槽(位置:查询条件下面) | slot | - | -| footer | el-table 底部插槽(位置:分页器上面) | slot | - | +| 参数 | 说明 | 类型 | 默认值 | +| :------------------------------------- | :-------------------------------------------------------------------------------------- | :------------------------ | :--------- | +| v-model | 绑定值 | boolean / string / number | 仅显示 | +| v-model:input-value | 输入框回显值 | boolean / string / number | - | +| isShowInput | 是否输入框显示 | Boolean | false | +| table | 表格数据对象 | Object | {} | +| ---data | 展示下拉数据源 | Array | [] | +| ---total | 数据总条数 | Number | - | +| ---pageSize | 每页显示条目个数 | Number | - | +| ---currentPage | 当前页数 | Number | - | +| columns | 表头信息 | Array | [] | +| ----bind | el-table-column Attributes | Object | - | +| ----fixed | 列是否固定( left, right) | string, boolean | - | +| ----align | 对齐方式(left/center/right) | String | center | +| ----render | 返回三个参数(text:当前值,row:当前整条数据 ,index:当前行) | function | - | +| ----slotName | 插槽显示此列数据(其值是具名作用域插槽) | String | - | +| ------scope | 具名插槽获取此行数据必须用解构接收{scope} | Object | 当前行数据 | +| keywords | 关键字配置(value-key 配置) | Object | 无 | +| ------label | 选项的标签 | String | ‘label’ | +| ------value | 选项的值 | String / number | ‘value’ | +| radioTxt | 单选文案 | String | 单选 | +| multiple | 是否开启多选 | Boolean | false | +| filterMethod | 自定义过滤 | function | - | +| rowClickRadio | 是否开启整行选中(单选) | boolean | true | +| isShowFirstColumn | 是否显示首列(单选) | boolean | true | +| defaultSelectVal | 设置第一页默认选中项--keywords.value 值 | Array | [] | +| filterable | 是否开启过滤(根据 keywords 的 label 值进行过滤) | Boolean | true | +| reserveSelection | 是否支持翻页选中 | Boolean | true | +| isShowPagination | 开启分页 | Boolean | false | +| tableWidth | table 宽度(单位:px) 若设置 0,宽度 100% | Number/String | 550 | +| selectWidth | select 宽度(单位:px) 若设置 0,宽度 100% | Number/String | 550 | +| inputWidth | input 输入框的宽度(单位:px) 若设置 0,宽度 100% | Number/String | 550 | +| inputAttr | 继承所有 el-input 的属性 | Object | - | +| isKeyup | 单选是否开启键盘事件 | Boolean | false | +| isShowQuery | 是否允许配置查询条件(继承 TQueryCondition 的所有属性、事件、插槽) | Boolean | false | +| isShowBlurBtn | 条件查询组件是否显示隐藏下拉框按钮 | Boolean | false | +| btnBind | 显示下拉框按钮配置,继承`el-button`所有属性;`默认值{type:'danger',btnTxt:'关闭下拉框'}` | Object | - | +| isClearQuery | 关闭下拉框是否清空搜索条件 | Boolean | false | +| selfExpanded | 是否始终显示下拉框 | Boolean | false | +| isExpanded | 是否显示下拉框 | Boolean | false | +| toolbar | el-table 头部插槽(位置:查询条件下面) | slot | - | +| footer | el-table 底部插槽(位置:分页器上面) | slot | - | +| multipleFixed1.4.13 | table 是否固定多选 | Boolean | false | +| radioFixed1.4.13 | table 是否固定单选 | Boolean | false | +| useVirtual1.4.13 | table 是否开启虚拟滚动 | Boolean | false | +| virtualShowSize1.4.13 | 虚拟列表的渲染行数 | Number | 30 | + ### 3、事件(events)继承 el-table 及 el-select 属性 diff --git a/docs/components/multipleVirtual/base.md b/docs/components/multipleVirtual/base.md new file mode 100644 index 00000000..cc603f31 --- /dev/null +++ b/docs/components/multipleVirtual/base.md @@ -0,0 +1,19 @@ +# Virtualized TSelectTable +>默认显示`30`条数据,可以设置`virtualShowSize`属性来控制显示条数 + + +### 单选--虚拟滚动Table1.4.13 + +:::demo `TSelectTable组件`标签添加属性`useVirtual`--开启虚拟滚动;`columns`中的项宽度需要使用`minWidth`;`单选`开启虚拟滚动`将自动隐藏单选项首列`。 + +TSelectTable/radioVirtual +::: + + +### 多选--虚拟滚动Table1.4.13 + +:::demo `TSelectTable组件`标签添加属性`useVirtual`--开启虚拟滚动。 + +TSelectTable/multipleVirtual +::: + diff --git a/docs/examples/TSelectTable/multipleVirtual.vue b/docs/examples/TSelectTable/multipleVirtual.vue new file mode 100644 index 00000000..e23d65b3 --- /dev/null +++ b/docs/examples/TSelectTable/multipleVirtual.vue @@ -0,0 +1,47 @@ + + diff --git a/docs/examples/TSelectTable/radioVirtual.vue b/docs/examples/TSelectTable/radioVirtual.vue new file mode 100644 index 00000000..9510eae0 --- /dev/null +++ b/docs/examples/TSelectTable/radioVirtual.vue @@ -0,0 +1,45 @@ + + diff --git a/packages/select-table/src/index.vue b/packages/select-table/src/index.vue index ba1edb42..ccf7c756 100644 --- a/packages/select-table/src/index.vue +++ b/packages/select-table/src/index.vue @@ -60,7 +60,9 @@ :class="{ radioStyle: !multiple, highlightCurrentRow: isRadio, - keyUpStyle: isKeyup + keyUpStyle: isKeyup, + t_select_table_multiple: useVirtual && multiple, + t_select_table_radio: useVirtual && !multiple }" highlight-current-row border @@ -78,15 +80,15 @@ align="center" :reserve-selection="reserveSelection" :selectable="selectable" - fixed + :fixed="multipleFixed" >