feat:过滤行没有数据的时候不执行回调、清除值只清空存在的值,不多次回调

This commit is contained in:
Kvkens 2018-12-15 15:24:15 +08:00
parent 91ba29f52f
commit 6cccb5c40a
8 changed files with 40 additions and 33 deletions

View File

@ -59,7 +59,6 @@ var FilterDropDown = function (_Component) {
_this.onSelectDropdown = function (item) {
var _this$props = _this.props,
onSelectDropdown = _this$props.onSelectDropdown,
dataText = _this$props.dataText,
filterDropdownType = _this$props.filterDropdownType;
if (onSelectDropdown) {

View File

@ -68,13 +68,15 @@ var FilterType = function (_Component) {
onFilterClear = _this$props.onFilterClear,
dataIndex = _this$props.dataIndex;
_this.setState({
value: "", //清空值
condition: _this.props.filterDropdownType == 'string' ? 'LIKE' : 'EQ' //切回默认查询条件
}, function () {
//调用清除方法参数为当前字段的field
onFilterClear && onFilterClear(dataIndex);
});
if (_this.state.value !== "") {
_this.setState({
value: "", //清空值
condition: _this.props.filterDropdownType == 'string' ? 'LIKE' : 'EQ' //切回默认查询条件
}, function () {
//调用清除方法参数为当前字段的field
onFilterClear && onFilterClear(dataIndex);
});
}
};
_this.changeText = function (val) {
@ -89,7 +91,7 @@ var FilterType = function (_Component) {
dataIndex = _this$props2.dataIndex;
if (e.keyCode == 13) {
onFilterChange(dataIndex, e.target.value, _this.state.condition);
e.target.value !== "" && onFilterChange(dataIndex, e.target.value, _this.state.condition);
}
};
@ -107,7 +109,7 @@ var FilterType = function (_Component) {
_this.setState({
condition: item.key
}, function () {
onFilterChange && onFilterChange(dataIndex, _this.state.value, _this.state.condition);
_this.state.value !== "" && onFilterChange && onFilterChange(dataIndex, _this.state.value, _this.state.condition);
});
};

View File

@ -272,7 +272,8 @@ var TableHeader = function (_Component) {
rendertype: type,
className: clsPrefix + " filter-dropdown",
data: selectDataSource,
dataIndex: dataIndex //字段
notFoundContent: "Loading" //没有数据显示的默认字
, dataIndex: dataIndex //字段
, onFilterChange: _this.handlerFilterChange //输入框回调
, onFilterClear: _this.handlerFilterClear //清除回调
, filterDropdown: rows[1][index]["filterdropdown"],

24
dist/demo.js vendored
View File

@ -13079,7 +13079,8 @@
rendertype: type,
className: clsPrefix + " filter-dropdown",
data: selectDataSource,
dataIndex: dataIndex //字段
notFoundContent: "Loading" //没有数据显示的默认字
, dataIndex: dataIndex //字段
, onFilterChange: _this.handlerFilterChange //输入框回调
, onFilterClear: _this.handlerFilterClear //清除回调
, filterDropdown: rows[1][index]["filterdropdown"],
@ -14362,13 +14363,15 @@
onFilterClear = _this$props.onFilterClear,
dataIndex = _this$props.dataIndex;
_this.setState({
value: "", //清空值
condition: _this.props.filterDropdownType == 'string' ? 'LIKE' : 'EQ' //切回默认查询条件
}, function () {
//调用清除方法参数为当前字段的field
onFilterClear && onFilterClear(dataIndex);
});
if (_this.state.value !== "") {
_this.setState({
value: "", //清空值
condition: _this.props.filterDropdownType == 'string' ? 'LIKE' : 'EQ' //切回默认查询条件
}, function () {
//调用清除方法参数为当前字段的field
onFilterClear && onFilterClear(dataIndex);
});
}
};
_this.changeText = function (val) {
@ -14383,7 +14386,7 @@
dataIndex = _this$props2.dataIndex;
if (e.keyCode == 13) {
onFilterChange(dataIndex, e.target.value, _this.state.condition);
e.target.value !== "" && onFilterChange(dataIndex, e.target.value, _this.state.condition);
}
};
@ -14401,7 +14404,7 @@
_this.setState({
condition: item.key
}, function () {
onFilterChange && onFilterChange(dataIndex, _this.state.value, _this.state.condition);
_this.state.value !== "" && onFilterChange && onFilterChange(dataIndex, _this.state.value, _this.state.condition);
});
};
@ -52530,7 +52533,6 @@
_this.onSelectDropdown = function (item) {
var _this$props = _this.props,
onSelectDropdown = _this$props.onSelectDropdown,
dataText = _this$props.dataText,
filterDropdownType = _this$props.filterDropdownType;
if (onSelectDropdown) {

2
dist/demo.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -27,7 +27,7 @@ class FilterDropDown extends Component {
* @param {*} s 选中的selectRecord
*/
onSelectDropdown = (item) => {
let { onSelectDropdown, dataText, filterDropdownType } = this.props;
let { onSelectDropdown, filterDropdownType } = this.props;
if (onSelectDropdown) {
if (filterDropdownType == 'string') {
this.setState({

View File

@ -33,13 +33,15 @@ class FilterType extends Component {
*/
clearFilter = () => {
let { onFilterClear, dataIndex } = this.props;
this.setState({
value: "",//清空值
condition: this.props.filterDropdownType == 'string' ? 'LIKE' : 'EQ'//切回默认查询条件
}, () => {
//调用清除方法参数为当前字段的field
onFilterClear && onFilterClear(dataIndex);
});
if (this.state.value !== "") {
this.setState({
value: "",//清空值
condition: this.props.filterDropdownType == 'string' ? 'LIKE' : 'EQ'//切回默认查询条件
}, () => {
//调用清除方法参数为当前字段的field
onFilterClear && onFilterClear(dataIndex);
});
}
}
/**
@ -59,7 +61,7 @@ class FilterType extends Component {
changeTextCall = (e) => {
let { onFilterChange, dataIndex } = this.props;
if (e.keyCode == 13) {
onFilterChange(dataIndex, e.target.value, this.state.condition);
e.target.value !== "" && onFilterChange(dataIndex, e.target.value, this.state.condition);
}
}
/**
@ -82,7 +84,7 @@ class FilterType extends Component {
this.setState({
condition: item.key
}, () => {
onFilterChange && onFilterChange(dataIndex, this.state.value, this.state.condition);
this.state.value !== "" && onFilterChange && onFilterChange(dataIndex, this.state.value, this.state.condition);
});
}

View File

@ -445,6 +445,7 @@ class TableHeader extends Component {
rendertype={type}
className={`${clsPrefix} filter-dropdown`}
data={selectDataSource}
notFoundContent={"Loading"}//没有数据显示的默认字
dataIndex={dataIndex}//字段
onFilterChange={this.handlerFilterChange}//输入框回调
onFilterClear={this.handlerFilterClear}//清除回调