Vue中textarea的使用

  • A+
所属分类:vue 前端

1、禁止textarea禁止拉伸(拖拽)和编辑样式:

// 禁止拉伸: resize:none

 <textarea style="resize:none;" >自己设置宽高即可</textarea>

//readonly 可复制不可编辑

  <textarea type="textarea" readonly>不可编辑</textarea>

//readonly 可复制不可编辑有背景色

  <textarea type="textarea" disabled>不可编辑</textarea>

 

二者效果区别:

readonly:没背景颜色,保留滚动条(适合文字内容多的场景使用)

disabled:有背景颜色,不保留滚动功能,(合文字少不需要滚动的场景使用)

配合鼠标变成禁用图标使用 style="cursor:no-drop;"

2、Vue:

template:

<div class="box" v-for="(item,index) in dataList" :key="index">

<textarea v-model="item.text" :disabled="item.isSave"></textarea>

//v-model="item.text"双向绑定数据,:disabled="item.isSave"存在isSave时禁止更改

<el-button type="success" @click="editBtn(index,false)" v-show="item.isSave">

编辑

</el-button>

<el-button type="success" @click="editBtn(index,true)" v-show="!item.isSave">

取消

</el-button>

<el-button type="success" @click="saveBtn(index)" v-show="!item.isSave">

保存

</el-button>

</div>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

情况2:

<el-form-item label="理由" prop="text">

<el-input type="textarea" v-model="item.text" rows="6" cols="6">

</el-form-item>

1

2

3

4

script:

import {getDataList,getDataSave} from "@/api/"

export default{

data(){

return{

dataList:[],//存储数据

}

},

created(){

this.init()

},

methods:{

init(){//获取数据

getDataList().then(res=>{

res.data.data.forEach(arr=>{

arr["isSave"]=true;//自己添加isSave属性,判断是否编辑还是取消保存

})

this.dataList=res.data.data

})

},

editBtn(index,type){//编辑与取消按钮

this.dataList[index].isSave=type

//取消时,后添加的数据不保存(v-model双向绑定点击取消按钮后恢复原数据)

//法一:重新刷新页面

if(type==true){//取消时

this.init();//重新刷新页面

this.$message.warning('数据已取消保存')

}

//法二:本地存储

if(type==false){//编辑时

localStorage.setItem('obj',JSON.stringify(this.dataList))

}

if(type==true){//取消时

let Item=JSON.parse(localStorage.getItem('obj'))

this.dataList=Item

}

},

saveBtn(item){//保存按钮

if(item.text==""){

this.$message.warning("textarea不能为空")

return

}

let param={...item}  //获取当前表单的数据并传入后台

getDataSave(param).then(res=>{

if(res.data.code==0){

this.$message.success("数据保存成功");

}

this.init();//重新刷新页面

})

}

}

}

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: