Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.en-US.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# CHANGELOG

## NEXT_VERSION

`NEXT_VERSION`

### Fixes

- Fix `n-select` and `n-tree-select` components' custom `filter` method not being called when deleting the last character, closes [#7034](https://github.com/tusen-ai/naive-ui/issues/7034)

## 2.43.2

### Fixes
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# CHANGELOG

## NEXT_VERSION

`NEXT_VERSION`

### Fixes

- 修复 `n-select` 和 `n-tree-select` 组件的自定义 `filter` 方法在删除最后一个字符时未被调用的问题,关闭 [#7034](https://github.com/tusen-ai/naive-ui/issues/7034)

## 2.43.2

### Fixes
Expand Down
2 changes: 1 addition & 1 deletion src/select/src/Select.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ export default defineComponent({
else {
const { value: localOptions } = localOptionsRef
const { value: pattern } = patternRef
if (!pattern.length || !props.filterable) {
if ((!pattern.length && !props.filter) || !props.filterable) {
return localOptions
}
else {
Expand Down
2 changes: 1 addition & 1 deletion src/tree/src/Tree.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ export default defineComponent({
expandedKeys: undefined
}
}
if (!pattern.length || !mergedFilterRef.value) {
if ((!pattern.length && !props.filter) || !mergedFilterRef.value) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mergedFilterRef 里优先取的就是 props.filter

const mergedFilterRef = computed(() => {
const { filter } = props
if (filter)
return filter
const { labelField } = props
return (pattern: string, node: TreeOption): boolean => {
if (!pattern.length)
return true
const label = node[labelField]
if (typeof label === 'string') {
return label.toLowerCase().includes(pattern.toLowerCase())
}
return false
}
})

return {
filteredTree: props.data,
highlightKeySet: null,
Expand Down