让企业管理更智慧、更快捷

Skip to content
源代码提交(4)
## [1.0.7](http://git.leadwaycloud.com/package/lwc-ui-components/compare/v1.0.6...v1.0.7) (2022-08-12)
### Bug Fixes
* 修复lwc-table-basic搜索条件抛出所有有效字段逻辑错误问题 ([9f657ae](http://git.leadwaycloud.com/package/lwc-ui-components/commits/9f657ae09eaa0f777707814c21e0b3ba46d8d89f))
## [1.0.6](http://git.leadwaycloud.com/package/lwc-ui-components/compare/v1.0.5...v1.0.6) (2022-08-08)
......
{
"name": "@package/lwc-ui-components",
"version": "1.0.7",
"version": "1.0.8",
"private": false,
"description": "立威云UI组件库",
"author": "",
......
......@@ -209,7 +209,7 @@ if (typeof window !== 'undefined' && window.Vue) {
}
export default {
version: '1.0.5',
version: '1.0.7',
install,
LwcBasicButton,
LwcBasicButtonIcon,
......
......@@ -8,6 +8,13 @@
`新特性`
`非兼容性更新`
---
### **v1.0.6 20220812**
#### Bug修复
- 修复 lwc-table-basic 组件 form搜索条件抛出所有有效字段逻辑错误问题
---
### **v1.0.5 20220805**
......
import { v4 as uuidv4 } from 'uuid';
import { v } from 'vxe-table';
import XEUtils from 'xe-utils/ctor'
/**
* @Author: dy
......@@ -6,33 +7,57 @@ import XEUtils from 'xe-utils/ctor'
* @Desc: 渲染下拉框
*/
function renderSelect({ h, $pulldown, vm }) {
const { filterable, filterMethod, ...selectProps } = vm.selectProps
return [h("el-select", {
ref: vm.selectInput,
class: "w-full",
props: {
value: vm.selectValue,
"value-key": vm.optionProps["id"],
readonly: true,
...(filterable ? {
filterable: true,
"popper-class": "hidden",
}: {
readonly: true
}),
multiple: vm.multiple,
...vm.selectProps
"filter-method": (str) => {
let tableGrid = vm.$refs[vm.selectTable]
if(tableGrid) {
let finalData = vm.originData
if(filterMethod) {
finalData = filterMethod(vm.originData)
} else {
finalData = vm.originData.filter(item => {
return vm.columnsFilter.some(field => {
return (XEUtils.get(item, field) || "").indexOf(str) >= 0
})
})
}
tableGrid.getTableGrid().loadData(finalData)
}
},
...selectProps
},
on: {
"visible-change": (state) => {
if(state) {
vm.$refs[vm.selectInput].blur();
if(!filterable) vm.$refs[vm.selectInput].blur();
$pulldown.showPanel().then(() => {
if(!vm.needInit && !vm.initStatus) {
vm.needInit = false
vm.initStatus = true
}
if(vm.needInit && !vm.initStatus){
$pulldown.hidePanel().then(() => {
// $pulldown.hidePanel().then(() => {
vm.needInit = false
vm.initStatus = true
})
// })
}
})
} else {
let tableGrid = vm.$refs[vm.selectTable]
tableGrid.getTableGrid().loadData(vm.originData)
}
},
// 多选移除tag
......@@ -69,7 +94,8 @@ function renderSelect({ h, $pulldown, vm }) {
tableGrid.getTableGrid().clearCheckboxRow()
}
vm.$emit("update:value", vm.multiple ? [] : null)
}
},
...vm.selectEvents
}
}, renderSelectOption(h, vm)
)]
......@@ -110,6 +136,7 @@ function buildGridConfig(vm, $pulldown) {
}
}))
setTableCheckRow(vm, $grid)
vm.originData = $grid.tableData
})
}
......@@ -278,6 +305,12 @@ export default {
return { id: "id", name: "name" }
}
},
columnsFilter: {
type: Array,
default: function() {
return ['name']
}
},
optionProps: {
type: Object,
default: function() {
......@@ -302,6 +335,12 @@ export default {
return {}
}
},
selectEvents: {
type: Object,
default: function() {
return {}
}
},
pulldownProps: {
type: Object,
default: function() {
......@@ -325,7 +364,8 @@ export default {
selectList: [],
initStatus: false,
initConfigData: false,
needInit: true
needInit: true,
originData: []
}
},
methods: {
......@@ -399,8 +439,8 @@ export default {
}, [
renderTableCell(h, this)
]) : h("vxe-pulldown", {
class: "w-full",
props: { transfer: true, ...this.pulldownProps },
class: "w-full pulldown-select",
props: { transfer: false, ...this.pulldownProps },
scopedSlots: {
default: ({ $pulldown }) => {
return renderSelect({
......@@ -420,7 +460,7 @@ export default {
}, [
h("lwc-table-basic", {
props: buildGridConfig(this, $pulldown),
ref: this.selectTable,
ref: this.selectTable
})])
}
}
......
......@@ -216,6 +216,13 @@ DefaultList.args = {
mode: "row",
showStatus: true,
},
slots: {
top(params, h) {
return [
h('div', 1233)
]
}
},
formConfig: {
data: {
name: "",
......
......@@ -314,7 +314,7 @@ const renderTable = (h, contentConfig, formConfig, _vm) => {
},
...events
},
slots: slots,
scopedSlots: slots,
directives: [{
name: 'loading',
value: _vm.loading
......