一部のデータを小文字にしようとしています(常に小文字)
私は次のような入力を行い、検索します:
_<template id="search">
<div>
<input type="text" v-model="search">
<li v-show="'hello'.includes(search) && search !== ''">Hello</li>
</div>
</template>
_
Vuejs:(コンポーネント)
_Vue.component('search', {
template : '#search',
data: function(){return{
search : '',
}}
});
_
watch
を試しましたが、入力時に小文字で入力したくない
_watch: {
'search' : function(v) {
this.search = v.toLowerCase().trim();
}
}
_
デモ:https://jsfiddle.net/rgr2vnjp/
そして、私は検索リストに_.toLowerCase()
を追加したくない_v-show
_のように:
_<li v-show="'hello'.includes(search.toLowerCase()) && search !== ''">Hello</li>
_
何かトリックはありますか?、私は検索しましたが、多くの人はfilter
を使用するだけでVuejs 2で終了しません
遊び場:https://jsfiddle.net/zufo5mhq/ (と入力してみてください[〜#〜] h [〜#〜])
PS:私も知りたい良い/より良いコード、ありがとう
Vue.js 2.0では、計算されたプロパティを使用してフィルターを置き換えることができます。
computed: {
searchInLowerCase() {
return this.search.toLowerCase().trim();
}
}
そして今あなたはあなたのテンプレートで単にsearchInLowerCase
を使うことができます:
<li v-show="'hello'.includes(searchInLowerCase) && search !== ''">Hello</li>
あなたもこれを行うことができます
{{tag.title.toLowerCase().trim()}}