diff --git a/CHANGELOG.md b/CHANGELOG.md index f0e3b346f0a5c8bfd45b987a02a3bf974f0cd9ca..85155da22e02aab7cf025988ab4f73b8b0c5a758 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - 修复 TimePicker 受控模式点选即关闭面板的问题。[#818](https://github.com/ant-design/ant-design/issues/818) - 修复一个两栏的 TimePicker 点击右边空白处无法关闭面板的问题。[#826](https://github.com/ant-design/ant-design/issues/826) - 修复 Table `pagination.onChange` 指定无效的问题。[#824](https://github.com/ant-design/ant-design/issues/824) +- 修复 Transfer 搜索功能失效的问题。 - 修复二维码图标,新增一个扫描图标。[#772](https://github.com/ant-design/ant-design/issues/772) ## 0.11.2 `2015-01-03` diff --git a/components/transfer/list.jsx b/components/transfer/list.jsx index 35902dab09cf0f36df1e22208f4823338b466015..2a0faa09ae487c4a6eb2928a6dfb97d0bc53f257 100644 --- a/components/transfer/list.jsx +++ b/components/transfer/list.jsx @@ -78,6 +78,22 @@ class TransferList extends Component { [prefixCls + '-with-footer']: !!footerDom, }); + const showItems = dataSource.map((item) => { + // apply filter + const itemText = this.props.render(item); + const filterResult = this.matchFilter(itemText, filter); + const renderedText = this.props.render(item); + + if (filterResult) { + return ( +
  • + key === item.key)} /> + {renderedText} +
  • + ); + } + }).filter(item => !!item); + return
    {this.renderCheckbox({ @@ -96,24 +112,7 @@ class TransferList extends Component { - {dataSource.length > 0 ? - dataSource.map((item) => { - // apply filter - const itemText = this.props.render(item); - const filterResult = this.matchFilter(itemText, filter); - - const renderedText = this.props.render(item); - - if (filterResult) { - return ( -
  • - key === item.key)} /> - {renderedText} -
  • - ); - } - }) :
    Not Found
    - } + {showItems.length > 0 ? showItems :
    Not Found
    }
    } { footerDom ?
    diff --git a/components/transfer/search.jsx b/components/transfer/search.jsx index f872da6c506a9bf79c186ce478f84aabd245fb56..a62594308d9ab16d2962923561906088c348d4a6 100644 --- a/components/transfer/search.jsx +++ b/components/transfer/search.jsx @@ -12,13 +12,18 @@ class Search extends Component { this.props.onChange(e); } + handleClear(e) { + e.preventDefault(); + this.props.handleClear(e); + } + render() { const {placeholder, value, prefixCls} = this.props; return
    { value && value.length > 0 ? - + : @@ -30,12 +35,14 @@ class Search extends Component { Search.defaultProps = { placeholder: '请输入搜索内容', onChange: noop, + handleClear: noop, }; Search.propTypes = { prefixCls: PropTypes.string, placeholder: PropTypes.string, - onChange: PropTypes.func + onChange: PropTypes.func, + handleClear: PropTypes.func, }; export default Search;