2011-06-07 58 views
0

我试图创建一个带有Webkit外观的搜索字段。但是,我正在解决它。这里是我创建searchFieldSproutcore - 在searchfield中的Webkit外观

mySearchView: SC.TextFieldView.design({ 
    layerId: 'searchView', 
    layout: {height: 20, width: 120, centerY: 0, right: 240}, 
    hint: 'Search', 
    classNames: ['searchField'] 
}), 

,这里的CSS部分

.searchField { 
    background: none !important; 
    outline: none !important; 
    -webkit-appearance: searchfield !important; 
} 

.searchField input[type="search"] { 
    -webkit-appearance: searchfield !important; 
    -webkit-box-sizing: border-box !important; 
} 

.searchField input[type="search"]::-webkit-search-cancel-button 
{ 
    -webkit-appearance: searchfield-cancel-button !important; 
} 

.searchField input[type="search"]::-webkit-search-decoration { 
    -webkit-appearance: searchfield-decoration !important; 
} 

.searchField input[type="search"]::-webkit-search-results-decoration { 
    -webkit-appearance: searchfield-results-decoration !important; 
} 

.searchField input[type="search"]::-webkit-search-results-button 
{ 
    -webkit-appearance: searchfield-results-button !important; 
} 

但是,这是行不通的。我能得到的最好是一个舍入的输入字段和一个重叠的平方字符。我什至不能看到放大镜和取消按钮是否出现。 有没有人得到这个观点?我的代码有什么问题?

回答

0

对不起,给你这样一个坏消息,但随着SC高达1.6,它永远不会工作(至少与股票SC.TextFieldView)。 如果您在第580行和第590行之间查看SC.TextFieldView的source代码,您将看到它始终呈现为文本字段。 要呈现为搜索字段,输入类型应该是搜索。 您唯一的选择是提供自定义的渲染方法,但不幸的是,这意味着复制了大量的代码行。