1

需要帮助

我想实现“<em>阿拉伯语键盘输入过滤”使用onkeyuponkeypress就像这样

<input type="text" 
       name="searchBox"
       value=""
       placeholder="بحث"
       size="25"
       onkeypress="if(this.value.match(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/)) this.value=this.value.replace(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/g,'')"
       onkeyup="if(this.value.match(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/)) this.value=this.value.replace(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/g,'')"
       style="direction: rtl; width: 100px;">

如何在Quasar-Framework组件q-search中重新实现“<em>阿拉伯语键盘输入过滤” ?

感谢帮助

4

2 回答 2

1

尝试这个。

<q-search v-model="value" name="searchBox" placeholder="بحث"  oninput="if(this.value && this.value.match(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/)) this.value=this.value.replace(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/g,'')" onkeyup="if(this.value && this.value.match(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/)) this.value=this.value.replace(/[^\u0621-\u063A\u0640-\u0657\u0670\uFE70-\uFEFC]/g,'')"/>
于 2019-03-30T09:08:31.150 回答
0

这个问题是前段时间发布的。我将为 rv1+ 回答,以防其他人偶然发现这一点。我刚刚实现了一个用于延迟/过滤的代码笔。你可以在这里找到它:https ://codepen.io/Hawkeye64/pen/abbVqdo

相关的关注领域是filterFn如下所示:

    async filterFn (val, update, abort) {
      // call abort() at any time if you can't retrieve data somehow
      if (this.users.length === 0) {
        // if there is no data, fetch and cache it so it can be filtered
        await axios.get('https://jsonplaceholder.typicode.com/users')
          .then(response => {
            this.users = response.data
          })
      }
      if (val === '') {
        update(() => {
          this.options = this.users.map(user => user.username)
        })
      } else if (this.users.length === 0) {
        update(() => {
          this.options = []
        })
      } else {
        update(() => {
          this.options = this.users
            .map(user => user.username)
            .filter(name => {
              return name && name.toLowerCase().indexOf(val.toLowerCase()) !== -1
          })
        })
      }
    },
于 2019-11-01T12:35:05.627 回答