夏未至秋已凉 发表于 2020-3-12 13:44:27

AutoComplete lostfocus的时候怎么把当前输入值清空

AutoComplete控件,当我输入un选中一条之后,焦点迁移出去,当我再次进入AutoComplete控件时,dropdown里面的内容还是上一次输入un筛选出来的内容,怎么在lostfocus的时候,把AutoComplete里面输入的un清掉①选中第一条,按tab迁移到combobox上

②shift+tab再迁回AutoComplete

③再次展开AutoComplete,还是之前输入un的筛选结果

想要的是焦点再获取时,得到下图效果


KevinChen 发表于 2020-3-12 13:44:28

你好,在lostFocus事件中就可以实现,参考代码如下:

import 'bootstrap.css';
import '@grapecity/wijmo.styles/wijmo.css';
import './styles.css';
//
import * as input from '@grapecity/wijmo.input';
import { getData } from './data';
//
document.readyState === 'complete' ? init() : window.onload = init;
//
function init() {
    let theCombo = new input.ComboBox('#theCombo', {
      displayMemberPath: 'country',
      itemsSource: getData()
    });
    //
    let theAutoComplete = new input.AutoComplete('#theAutoComplete', {
      displayMemberPath: 'country',
      itemsSource: getData(),
      isDroppedDownChanged: function(e){
            console.log(e.listBox.collectionView.items);
      },
      lostFocus: function(e){
            if(e.listBox.collectionView.items.length > 0){
                e.selectedItem = e.listBox.collectionView.items;
            }
      }
    });
}


可以把上边的代码拷贝到这个示例中看运行效果:

https://demo.grapecity.com.cn/wijmo/demos/Input/AutoComplete/Overview/purejs
页: [1]
查看完整版本: AutoComplete lostfocus的时候怎么把当前输入值清空