Vue.js过滤文本区域

时间:2019-02-14 21:38:35

标签: vue.js vuejs2

我有一个带有v模型的文本区域:

<textarea v-model="text"></textarea>

如何在Vue中过滤此文本区域?我需要防止使用html:

&amp;amp;#039;id&amp;amp;#039; 

1 个答案:

答案 0 :(得分:1)

您可以使用watcher属性来监视textarea中的任何更改并防止使用引号,例如:

Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',
  data() {
    return {
      text: ''
    }
  },
  watch: {
    text(newVal, oldVal) {
      let p = ["&amp;", "amp;", "#039;", "id&amp;", "amp;", "#039;"]

      if (p.some(v => {
          return newVal.includes(v);
        })) {

        this.text = oldVal;
      }

    }

  }
})
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>


<div id="app" class="container">
  <textarea class="form-control" v-model="text"></textarea> {{text}}
</div>