我遇到了一个问题。我使用了bootstrap vue表。我有一个搜索框。我有一个yield为“伊斯坦布尔”。当我按小写的i时,它看不到它。它接受大写字母I
。我尝试了toLocaleLowerCase()
,但没有运行。
我在搜索框中输入“伊斯坦布尔”,但它在表格中找不到,而是在你输入“stanbul”时找到。
这是我的模板和数据集:
<template>
<div>
<b-table striped hover :fields="fields" :items="cities"></b-table>
</div>
</template>
<script>
export default {
data() {
return {
cities : [
{key:1,city:'İstanbul'},
{key:2,city:'İzmir'},
{key:3,city:'Adana'},
],
cityCopyArray : [
{key:1,city:'İstanbul'},
{key:2,city:'İzmir'},
{key:3,city:'Adana'},
],
fields:["city"]
}
}
</script>
这是我的投入:
<input
:placeholder="'City Name"
:id="'cityNamr'"
v-model="citySearchSearch"></input>
这是我的手表:
citySearchSearch: {
handler(val) {
this.cities = this.cityCopyArray.filter((city) => {
return this.converter(city.name).includes(this.converter(val))
})t
},
},
我用这个代码作为转换器:
converter(text){
var trMap = {
'çÇ':'c',
'ğĞ':'g',
'şŞ':'s',
'üÜ':'u',
'ıİ':'i',
'öÖ':'o',
};
for(var key in trMap) {
text = text.replace(new RegExp('['+key+']','g'), trMap[key]);
}
return text.replace(/[^-a-zA-Z0-9\s]+/ig, '')
.replace(/\s/gi, "-")
.replace(/[-]+/gi, "-")
.toLowerCase();
},
1条答案
按热度按时间insrf1ej1#
您可以使用
toLocaleUpperCase('tr-TR')
比较土耳其字符,例如:简单示例:
第一次